From a9157ce950dfe2fc30795d43b9d79b9d1bffc48b Mon Sep 17 00:00:00 2001 From: Jacob McDonnell Date: Sat, 25 Apr 2026 19:54:44 -0400 Subject: docs: Added All OpenBSD Manuals --- static/openbsd/Makefile | 2 + static/openbsd/man1/acme-client.1 | 164 + static/openbsd/man1/addr2line.1 | 230 + static/openbsd/man1/apply.1 | 145 + static/openbsd/man1/apropos.1 | 513 + static/openbsd/man1/ar.1 | 377 + static/openbsd/man1/arch.1 | 76 + static/openbsd/man1/at.1 | 402 + static/openbsd/man1/atq.1 | 103 + static/openbsd/man1/atrm.1 | 91 + static/openbsd/man1/aucat.1 | 297 + static/openbsd/man1/awk.1 | 1073 ++ static/openbsd/man1/banner.1 | 46 + static/openbsd/man1/basename.1 | 76 + static/openbsd/man1/bc.1 | 409 + static/openbsd/man1/biff.1 | 99 + static/openbsd/man1/binedit.1 | 172 + static/openbsd/man1/cal.1 | 132 + static/openbsd/man1/calendar.1 | 277 + static/openbsd/man1/cap_mkdb.1 | 101 + static/openbsd/man1/captoinfo.1 | 208 + static/openbsd/man1/cat.1 | 185 + static/openbsd/man1/catme.1 | 2 + static/openbsd/man1/cdio.1 | 326 + static/openbsd/man1/chflags.1 | 184 + static/openbsd/man1/chgrp.1 | 135 + static/openbsd/man1/chio.1 | 253 + static/openbsd/man1/chmod.1 | 388 + static/openbsd/man1/chpass.1 | 279 + static/openbsd/man1/ci.1 | 202 + static/openbsd/man1/cksum.1 | 201 + static/openbsd/man1/clang.1 | 1023 ++ static/openbsd/man1/clear.1 | 163 + static/openbsd/man1/cmp.1 | 126 + static/openbsd/man1/co.1 | 162 + static/openbsd/man1/col.1 | 141 + static/openbsd/man1/colrm.1 | 127 + static/openbsd/man1/column.1 | 116 + static/openbsd/man1/comm.1 | 114 + static/openbsd/man1/compress.1 | 386 + static/openbsd/man1/cp.1 | 260 + static/openbsd/man1/cpio.1 | 315 + static/openbsd/man1/cpp.1 | 934 ++ static/openbsd/man1/crontab.1 | 173 + static/openbsd/man1/csh.1 | 1015 ++ static/openbsd/man1/csplit.1 | 168 + static/openbsd/man1/ctags.1 | 232 + static/openbsd/man1/ctfconv.1 | 67 + static/openbsd/man1/ctfdump.1 | 61 + static/openbsd/man1/ctfstrip.1 | 52 + static/openbsd/man1/cu.1 | 224 + static/openbsd/man1/cut.1 | 184 + static/openbsd/man1/cvs.1 | 2155 +++ static/openbsd/man1/date.1 | 244 + static/openbsd/man1/dbe.1 | 46 + static/openbsd/man1/dbm_dump.1 | 191 + static/openbsd/man1/dc.1 | 550 + static/openbsd/man1/dd.1 | 382 + static/openbsd/man1/def-i.1 | Bin 0 -> 72 bytes static/openbsd/man1/def-r.1 | Bin 0 -> 72 bytes static/openbsd/man1/deroff.1 | 174 + static/openbsd/man1/df.1 | 183 + static/openbsd/man1/diff.1 | 475 + static/openbsd/man1/diff3.1 | 201 + static/openbsd/man1/dig.1 | 887 ++ static/openbsd/man1/dirname.1 | 94 + static/openbsd/man1/dlltool.1 | 447 + static/openbsd/man1/doas.1 | 139 + static/openbsd/man1/domainname.1 | 70 + static/openbsd/man1/du.1 | 199 + static/openbsd/man1/echo.1 | 142 + static/openbsd/man1/ed.1 | 859 ++ static/openbsd/man1/empty.1 | 6 + static/openbsd/man1/encrypt.1 | 87 + static/openbsd/man1/env.1 | 135 + static/openbsd/man1/expand.1 | 138 + static/openbsd/man1/expr.1 | 157 + static/openbsd/man1/false.1 | 62 + static/openbsd/man1/fdformat.1 | 147 + static/openbsd/man1/fgen.1 | 71 + static/openbsd/man1/file.1 | 130 + static/openbsd/man1/find.1 | 730 ++ static/openbsd/man1/finger.1 | 224 + static/openbsd/man1/flex.1 | 4427 +++++++ static/openbsd/man1/fmt.1 | 190 + static/openbsd/man1/fold.1 | 136 + static/openbsd/man1/from.1 | 98 + static/openbsd/man1/fstat.1 | 330 + static/openbsd/man1/ftp.1 | 1821 +++ static/openbsd/man1/fuser.1 | 152 + static/openbsd/man1/g++.1 | 13118 ++++++++++++++++++ static/openbsd/man1/gcc.1 | 13123 +++++++++++++++++++ static/openbsd/man1/gcj-dbtool.1 | 237 + static/openbsd/man1/gcj.1 | 569 + static/openbsd/man1/gcjh.1 | 267 + static/openbsd/man1/gcov.1 | 628 + static/openbsd/man1/gdb.1 | 381 + static/openbsd/man1/gdbserver.1 | 116 + static/openbsd/man1/gencat.1 | 191 + static/openbsd/man1/getcap.1 | 177 + static/openbsd/man1/getconf.1 | 98 + static/openbsd/man1/getent.1 | 129 + static/openbsd/man1/getopt.1 | 129 + static/openbsd/man1/gfortran.1 | 757 ++ static/openbsd/man1/gij.1 | 289 + static/openbsd/man1/gjnih.1 | 265 + static/openbsd/man1/gprof.1 | 712 + static/openbsd/man1/grep.1 | 395 + static/openbsd/man1/grmic.1 | 214 + static/openbsd/man1/grmiregistry.1 | 176 + static/openbsd/man1/groups.1 | 59 + static/openbsd/man1/gzexe.1 | 77 + static/openbsd/man1/gzip.1 | 394 + static/openbsd/man1/head.1 | 111 + static/openbsd/man1/hexdump.1 | 381 + static/openbsd/man1/host.1 | 225 + static/openbsd/man1/hostname.1 | 75 + static/openbsd/man1/htpasswd.1 | 74 + static/openbsd/man1/id.1 | 164 + static/openbsd/man1/ident.1 | 79 + static/openbsd/man1/indent.1 | 525 + static/openbsd/man1/info.1 | 89 + static/openbsd/man1/infocmp.1 | 656 + static/openbsd/man1/infokey.1 | 229 + static/openbsd/man1/infotocap.1 | 82 + static/openbsd/man1/install-info.1 | 78 + static/openbsd/man1/install.1 | 215 + static/openbsd/man1/ipcrm.1 | 95 + static/openbsd/man1/ipcs.1 | 149 + static/openbsd/man1/jcf-dump.1 | 209 + static/openbsd/man1/join.1 | 239 + static/openbsd/man1/jot.1 | 307 + static/openbsd/man1/jv-convert.1 | 202 + static/openbsd/man1/jv-scan.1 | 207 + static/openbsd/man1/kdump.1 | 180 + static/openbsd/man1/keynote.1 | 293 + static/openbsd/man1/kill.1 | 164 + static/openbsd/man1/ksh.1 | 5640 ++++++++ static/openbsd/man1/kstat.1 | 100 + static/openbsd/man1/ktrace.1 | 204 + static/openbsd/man1/lam.1 | 174 + static/openbsd/man1/last.1 | 214 + static/openbsd/man1/lastcomm.1 | 155 + static/openbsd/man1/ld.lld.1 | 1013 ++ static/openbsd/man1/ld.so.1 | 205 + static/openbsd/man1/ldap.1 | 248 + static/openbsd/man1/ldd.1 | 63 + static/openbsd/man1/leave.1 | 92 + static/openbsd/man1/less.1 | 1758 +++ static/openbsd/man1/lesskey.1 | 466 + static/openbsd/man1/libtool.1 | 50 + static/openbsd/man1/lldb.1 | 429 + static/openbsd/man1/llvm-addr2line.1 | 72 + static/openbsd/man1/llvm-config.1 | 285 + static/openbsd/man1/llvm-cov.1 | 634 + static/openbsd/man1/llvm-objcopy.1 | 836 ++ static/openbsd/man1/llvm-objdump.1 | 612 + static/openbsd/man1/llvm-profdata.1 | 528 + static/openbsd/man1/llvm-readelf.1 | 304 + static/openbsd/man1/llvm-readobj.1 | 480 + static/openbsd/man1/llvm-symbolizer.1 | 645 + static/openbsd/man1/ln.1 | 229 + static/openbsd/man1/lndir.1 | 206 + static/openbsd/man1/locale.1 | 260 + static/openbsd/man1/locate.1 | 231 + static/openbsd/man1/lock.1 | 109 + static/openbsd/man1/lockspool.1 | 77 + static/openbsd/man1/logger.1 | 110 + static/openbsd/man1/login.1 | 241 + static/openbsd/man1/logname.1 | 76 + static/openbsd/man1/look.1 | 106 + static/openbsd/man1/lorder.1 | 81 + static/openbsd/man1/lpq.1 | 141 + static/openbsd/man1/lpr.1 | 259 + static/openbsd/man1/lprm.1 | 149 + static/openbsd/man1/ls.1 | 519 + static/openbsd/man1/ltrace.1 | 196 + static/openbsd/man1/m4.1 | 535 + static/openbsd/man1/mail.1 | 1274 ++ static/openbsd/man1/make.1 | 1736 +++ static/openbsd/man1/makeinfo.1 | 205 + static/openbsd/man1/makeinodes.1 | 62 + static/openbsd/man1/man.1 | 465 + static/openbsd/man1/mandoc.1 | 2505 ++++ static/openbsd/man1/md5.1 | 150 + static/openbsd/man1/merge.1 | 91 + static/openbsd/man1/mesg.1 | 96 + static/openbsd/man1/mg.1 | 1203 ++ static/openbsd/man1/midicat.1 | 85 + static/openbsd/man1/mkdep.1 | 106 + static/openbsd/man1/mkdir.1 | 121 + static/openbsd/man1/mkfifo.1 | 86 + static/openbsd/man1/mklocale.1 | 281 + static/openbsd/man1/mksuncd.1 | 68 + static/openbsd/man1/mktemp.1 | 267 + static/openbsd/man1/mlinks.1 | 93 + static/openbsd/man1/mopa.out.1 | 49 + static/openbsd/man1/mopchk.1 | 61 + static/openbsd/man1/mopprobe.1 | 73 + static/openbsd/man1/moptrace.1 | 74 + static/openbsd/man1/more.1 | 370 + static/openbsd/man1/mt.1 | 201 + static/openbsd/man1/mv.1 | 203 + static/openbsd/man1/nc.1 | 599 + static/openbsd/man1/netstat.1 | 410 + static/openbsd/man1/nfsstat.1 | 99 + static/openbsd/man1/nice.1 | 111 + static/openbsd/man1/nl.1 | 231 + static/openbsd/man1/nlmconv.1 | 230 + static/openbsd/man1/nm.1 | 426 + static/openbsd/man1/nohup.1 | 122 + static/openbsd/man1/nslookup.1 | 221 + static/openbsd/man1/objcopy.1 | 748 ++ static/openbsd/man1/objdump.1 | 592 + static/openbsd/man1/od.1 | 341 + static/openbsd/man1/openssl.1 | 6798 ++++++++++ static/openbsd/man1/pagesize.1 | 57 + static/openbsd/man1/passwd.1 | 134 + static/openbsd/man1/paste.1 | 166 + static/openbsd/man1/patch.1 | 683 + static/openbsd/man1/pax.1 | 1116 ++ static/openbsd/man1/pctr.1 | 163 + static/openbsd/man1/pkg_add.1 | 833 ++ static/openbsd/man1/pkg_create.1 | 1030 ++ static/openbsd/man1/pkg_delete.1 | 210 + static/openbsd/man1/pkg_info.1 | 332 + static/openbsd/man1/pkg_mklocatedb.1 | 120 + static/openbsd/man1/pkg_sign.1 | 140 + static/openbsd/man1/pkgconf.1 | 751 ++ static/openbsd/man1/pkill.1 | 228 + static/openbsd/man1/pr.1 | 389 + static/openbsd/man1/printenv.1 | 68 + static/openbsd/man1/printf.1 | 420 + static/openbsd/man1/procmap.1 | 415 + static/openbsd/man1/ps.1 | 710 + static/openbsd/man1/pwd.1 | 115 + static/openbsd/man1/quota.1 | 129 + static/openbsd/man1/radioctl.1 | 209 + static/openbsd/man1/ranlib.1 | 175 + static/openbsd/man1/rcs.1 | 485 + static/openbsd/man1/rcs2log.1 | 97 + static/openbsd/man1/rcsclean.1 | 110 + static/openbsd/man1/rcsdiff.1 | 147 + static/openbsd/man1/rcsmerge.1 | 121 + static/openbsd/man1/rdist.1 | 866 ++ static/openbsd/man1/rdistd.1 | 70 + static/openbsd/man1/readelf.1 | 352 + static/openbsd/man1/readlink.1 | 80 + static/openbsd/man1/realpath.1 | 56 + static/openbsd/man1/rev.1 | 59 + static/openbsd/man1/rlog.1 | 208 + static/openbsd/man1/rm.1 | 185 + static/openbsd/man1/rmdir.1 | 112 + static/openbsd/man1/rpcgen.1 | 418 + static/openbsd/man1/rs.1 | 254 + static/openbsd/man1/rsync.1 | 348 + static/openbsd/man1/rup.1 | 101 + static/openbsd/man1/rusers.1 | 117 + static/openbsd/man1/rwall.1 | 75 + static/openbsd/man1/scan-build.1 | 350 + static/openbsd/man1/scp.1 | 367 + static/openbsd/man1/script.1 | 123 + static/openbsd/man1/sdiff.1 | 191 + static/openbsd/man1/sed.1 | 613 + static/openbsd/man1/sendbug.1 | 121 + static/openbsd/man1/seq.1 | 192 + static/openbsd/man1/sftp.1 | 767 ++ static/openbsd/man1/sh.1 | 10 + static/openbsd/man1/shar.1 | 102 + static/openbsd/man1/signify.1 | 206 + static/openbsd/man1/size.1 | 250 + static/openbsd/man1/skey.1 | 113 + static/openbsd/man1/skeyaudit.1 | 45 + static/openbsd/man1/skeyinfo.1 | 50 + static/openbsd/man1/skeyinit.1 | 193 + static/openbsd/man1/sleep.1 | 91 + static/openbsd/man1/smtp.1 | 142 + static/openbsd/man1/sndioctl.1 | 131 + static/openbsd/man1/snmp.1 | 568 + static/openbsd/man1/sort.1 | 628 + static/openbsd/man1/sortnames.1 | 13 + static/openbsd/man1/source.1 | 2 + static/openbsd/man1/spell.1 | 250 + static/openbsd/man1/split.1 | 153 + static/openbsd/man1/ssh-add.1 | 360 + static/openbsd/man1/ssh-agent.1 | 310 + static/openbsd/man1/ssh-keygen.1 | 1352 ++ static/openbsd/man1/ssh-keyscan.1 | 188 + static/openbsd/man1/ssh.1 | 1804 +++ static/openbsd/man1/stat.1 | 493 + static/openbsd/man1/streamtcp.1 | 88 + static/openbsd/man1/strings.1 | 236 + static/openbsd/man1/strip.1 | 364 + static/openbsd/man1/stty.1 | 739 ++ static/openbsd/man1/su.1 | 282 + static/openbsd/man1/systat.1 | 822 ++ static/openbsd/man1/t1.1 | 0 static/openbsd/man1/t10.1 | 1 + static/openbsd/man1/t11.1 | 1003 ++ static/openbsd/man1/t12.1 | 10 + static/openbsd/man1/t13.1 | 11 + static/openbsd/man1/t14.1 | 2 + static/openbsd/man1/t15.1 | 3 + static/openbsd/man1/t2.1 | 25 + static/openbsd/man1/t3.1 | 0 static/openbsd/man1/t4.1 | 25 + static/openbsd/man1/t5.1 | 10 + static/openbsd/man1/t6.1 | 9 + static/openbsd/man1/t7.1 | 9 + static/openbsd/man1/t8.1 | 392 + static/openbsd/man1/t9.1 | 2045 +++ static/openbsd/man1/tail.1 | 186 + static/openbsd/man1/talk.1 | 160 + static/openbsd/man1/tar.1 | 490 + static/openbsd/man1/tcpbench.1 | 236 + static/openbsd/man1/tee.1 | 84 + static/openbsd/man1/telnet.1 | 1323 ++ static/openbsd/man1/test.1 | 361 + static/openbsd/man1/texi2dvi.1 | 95 + static/openbsd/man1/texi2pdf.1 | 35 + static/openbsd/man1/texindex.1 | 47 + static/openbsd/man1/tftp.1 | 240 + static/openbsd/man1/tic.1 | 606 + static/openbsd/man1/time.1 | 122 + static/openbsd/man1/timeout.1 | 131 + static/openbsd/man1/tmux.1 | 8273 ++++++++++++ static/openbsd/man1/top.1 | 526 + static/openbsd/man1/touch.1 | 183 + static/openbsd/man1/tput.1 | 618 + static/openbsd/man1/tr.1 | 364 + static/openbsd/man1/tradcpp.1 | 362 + static/openbsd/man1/true.1 | 63 + static/openbsd/man1/ts.1 | 106 + static/openbsd/man1/tset.1 | 437 + static/openbsd/man1/tsort.1 | 167 + static/openbsd/man1/tty.1 | 88 + static/openbsd/man1/ul.1 | 209 + static/openbsd/man1/uname.1 | 130 + static/openbsd/man1/unifdef.1 | 477 + static/openbsd/man1/uniq.1 | 166 + static/openbsd/man1/units.1 | 258 + static/openbsd/man1/unvis.1 | 56 + static/openbsd/man1/uptime.1 | 55 + static/openbsd/man1/usbhidaction.1 | 132 + static/openbsd/man1/usbhidctl.1 | 211 + static/openbsd/man1/users.1 | 58 + static/openbsd/man1/uuencode.1 | 238 + static/openbsd/man1/vacation.1 | 199 + static/openbsd/man1/vi.1 | 2825 ++++ static/openbsd/man1/vis.1 | 138 + static/openbsd/man1/w.1 | 134 + static/openbsd/man1/wall.1 | 83 + static/openbsd/man1/watch.1 | 127 + static/openbsd/man1/wc.1 | 138 + static/openbsd/man1/what.1 | 97 + static/openbsd/man1/whereis.1 | 94 + static/openbsd/man1/which.1 | 101 + static/openbsd/man1/who.1 | 153 + static/openbsd/man1/whoami.1 | 62 + static/openbsd/man1/whois.1 | 285 + static/openbsd/man1/windres.1 | 330 + static/openbsd/man1/write.1 | 143 + static/openbsd/man1/x99token.1 | 101 + static/openbsd/man1/xargs.1 | 348 + static/openbsd/man1/xr.1 | 15 + static/openbsd/man1/yacc.1 | 249 + static/openbsd/man1/yes.1 | 53 + static/openbsd/man1/ypcat.1 | 76 + static/openbsd/man1/ypmatch.1 | 76 + static/openbsd/man1/ypwhich.1 | 108 + static/openbsd/man1/yyfix.1 | 108 + static/openbsd/man1/zdiff.1 | 109 + static/openbsd/man1/zforce.1 | 52 + static/openbsd/man1/zmore.1 | 97 + static/openbsd/man1/znew.1 | 70 + static/openbsd/man2/__get_tcb.2 | 66 + static/openbsd/man2/__thrsigdivert.2 | 126 + static/openbsd/man2/__thrsleep.2 | 219 + static/openbsd/man2/_exit.2 | 139 + static/openbsd/man2/accept.2 | 230 + static/openbsd/man2/access.2 | 240 + static/openbsd/man2/acct.2 | 118 + static/openbsd/man2/adjfreq.2 | 76 + static/openbsd/man2/adjtime.2 | 133 + static/openbsd/man2/amd64_iopl.2 | 80 + static/openbsd/man2/arm_drain_writebuf.2 | 56 + static/openbsd/man2/arm_sync_icache.2 | 71 + static/openbsd/man2/bind.2 | 143 + static/openbsd/man2/brk.2 | 154 + static/openbsd/man2/chdir.2 | 130 + static/openbsd/man2/chflags.2 | 228 + static/openbsd/man2/chmod.2 | 273 + static/openbsd/man2/chown.2 | 265 + static/openbsd/man2/chroot.2 | 123 + static/openbsd/man2/clock_gettime.2 | 355 + static/openbsd/man2/close.2 | 133 + static/openbsd/man2/closefrom.2 | 67 + static/openbsd/man2/connect.2 | 257 + static/openbsd/man2/csh.2 | 1302 ++ static/openbsd/man2/dup.2 | 217 + static/openbsd/man2/execve.2 | 356 + static/openbsd/man2/fcntl.2 | 588 + static/openbsd/man2/fhopen.2 | 131 + static/openbsd/man2/flock.2 | 151 + static/openbsd/man2/fork.2 | 145 + static/openbsd/man2/fsync.2 | 121 + static/openbsd/man2/futex.2 | 153 + static/openbsd/man2/getdents.2 | 195 + static/openbsd/man2/getdtablecount.2 | 38 + static/openbsd/man2/getentropy.2 | 70 + static/openbsd/man2/getfh.2 | 102 + static/openbsd/man2/getfsstat.2 | 149 + static/openbsd/man2/getgid.2 | 90 + static/openbsd/man2/getgroups.2 | 99 + static/openbsd/man2/getitimer.2 | 176 + static/openbsd/man2/getlogin.2 | 220 + static/openbsd/man2/getpeername.2 | 143 + static/openbsd/man2/getpgrp.2 | 114 + static/openbsd/man2/getpid.2 | 76 + static/openbsd/man2/getpriority.2 | 158 + static/openbsd/man2/getrlimit.2 | 238 + static/openbsd/man2/getrtable.2 | 66 + static/openbsd/man2/getrusage.2 | 192 + static/openbsd/man2/getsid.2 | 83 + static/openbsd/man2/getsockname.2 | 162 + static/openbsd/man2/getsockopt.2 | 541 + static/openbsd/man2/getthrid.2 | 80 + static/openbsd/man2/getthrname.2 | 135 + static/openbsd/man2/gettimeofday.2 | 205 + static/openbsd/man2/getuid.2 | 89 + static/openbsd/man2/i386_get_fsbase.2 | 85 + static/openbsd/man2/i386_get_gsbase.2 | 95 + static/openbsd/man2/i386_iopl.2 | 80 + static/openbsd/man2/inb.2 | 133 + static/openbsd/man2/intro.2 | 793 ++ static/openbsd/man2/ioctl.2 | 171 + static/openbsd/man2/issetugid.2 | 106 + static/openbsd/man2/kbind.2 | 120 + static/openbsd/man2/kill.2 | 168 + static/openbsd/man2/kqueue.2 | 706 + static/openbsd/man2/ktrace.2 | 232 + static/openbsd/man2/link.2 | 268 + static/openbsd/man2/listen.2 | 109 + static/openbsd/man2/lseek.2 | 144 + static/openbsd/man2/madvise.2 | 144 + static/openbsd/man2/mimmutable.2 | 90 + static/openbsd/man2/minherit.2 | 108 + static/openbsd/man2/mkdir.2 | 201 + static/openbsd/man2/mkfifo.2 | 181 + static/openbsd/man2/mknod.2 | 214 + static/openbsd/man2/mlock.2 | 162 + static/openbsd/man2/mlockall.2 | 124 + static/openbsd/man2/mmap.2 | 377 + static/openbsd/man2/mount.2 | 434 + static/openbsd/man2/mprotect.2 | 145 + static/openbsd/man2/mquery.2 | 133 + static/openbsd/man2/msgctl.2 | 209 + static/openbsd/man2/msgget.2 | 142 + static/openbsd/man2/msgrcv.2 | 207 + static/openbsd/man2/msgsnd.2 | 168 + static/openbsd/man2/msync.2 | 120 + static/openbsd/man2/munmap.2 | 104 + static/openbsd/man2/nanosleep.2 | 135 + static/openbsd/man2/nfssvc.2 | 128 + static/openbsd/man2/open.2 | 505 + static/openbsd/man2/pathconf.2 | 299 + static/openbsd/man2/pinsyscalls.2 | 83 + static/openbsd/man2/pipe.2 | 147 + static/openbsd/man2/pledge.2 | 670 + static/openbsd/man2/poll.2 | 364 + static/openbsd/man2/profil.2 | 183 + static/openbsd/man2/ptrace.2 | 668 + static/openbsd/man2/quotactl.2 | 212 + static/openbsd/man2/read.2 | 282 + static/openbsd/man2/readlink.2 | 169 + static/openbsd/man2/reboot.2 | 163 + static/openbsd/man2/recv.2 | 448 + static/openbsd/man2/rename.2 | 296 + static/openbsd/man2/revoke.2 | 108 + static/openbsd/man2/rmdir.2 | 129 + static/openbsd/man2/sched_yield.2 | 49 + static/openbsd/man2/select.2 | 248 + static/openbsd/man2/semctl.2 | 242 + static/openbsd/man2/semget.2 | 154 + static/openbsd/man2/semop.2 | 158 + static/openbsd/man2/send.2 | 289 + static/openbsd/man2/sendsyslog.2 | 106 + static/openbsd/man2/setgroups.2 | 85 + static/openbsd/man2/setpgid.2 | 104 + static/openbsd/man2/setregid.2 | 103 + static/openbsd/man2/setresuid.2 | 100 + static/openbsd/man2/setreuid.2 | 103 + static/openbsd/man2/setsid.2 | 79 + static/openbsd/man2/setuid.2 | 152 + static/openbsd/man2/shmat.2 | 129 + static/openbsd/man2/shmctl.2 | 198 + static/openbsd/man2/shmget.2 | 142 + static/openbsd/man2/shutdown.2 | 154 + static/openbsd/man2/sigaction.2 | 698 + static/openbsd/man2/sigaltstack.2 | 193 + static/openbsd/man2/sigpending.2 | 69 + static/openbsd/man2/sigprocmask.2 | 124 + static/openbsd/man2/sigreturn.2 | 86 + static/openbsd/man2/sigsuspend.2 | 78 + static/openbsd/man2/socket.2 | 308 + static/openbsd/man2/socketpair.2 | 129 + static/openbsd/man2/stat.2 | 444 + static/openbsd/man2/statfs.2 | 158 + static/openbsd/man2/swapctl.2 | 243 + static/openbsd/man2/symlink.2 | 204 + static/openbsd/man2/sync.2 | 73 + static/openbsd/man2/sysarch.2 | 68 + static/openbsd/man2/sysctl.2 | 2444 ++++ static/openbsd/man2/t1.2 | 0 static/openbsd/man2/t10.2 | 1 + static/openbsd/man2/t11.2 | 908 ++ static/openbsd/man2/t12.2 | 12 + static/openbsd/man2/t13.2 | 9 + static/openbsd/man2/t14.2 | 3 + static/openbsd/man2/t15.2 | 2 + static/openbsd/man2/t2.2 | 25 + static/openbsd/man2/t3.2 | 25 + static/openbsd/man2/t4.2 | 0 static/openbsd/man2/t5.2 | 10 + static/openbsd/man2/t6.2 | 9 + static/openbsd/man2/t7.2 | 9 + static/openbsd/man2/t8.2 | 616 + static/openbsd/man2/t9.2 | 3200 +++++ static/openbsd/man2/thrkill.2 | 105 + static/openbsd/man2/truncate.2 | 152 + static/openbsd/man2/umask.2 | 94 + static/openbsd/man2/unlink.2 | 237 + static/openbsd/man2/unveil.2 | 176 + static/openbsd/man2/utimes.2 | 329 + static/openbsd/man2/utrace.2 | 86 + static/openbsd/man2/vfork.2 | 107 + static/openbsd/man2/wait.2 | 350 + static/openbsd/man2/waitid.2 | 261 + static/openbsd/man2/write.2 | 329 + static/openbsd/man2/ypconnect.2 | 80 + static/openbsd/man3/ACCESS_DESCRIPTION_new.3 | 152 + static/openbsd/man3/AES_encrypt.3 | 174 + static/openbsd/man3/ASIdentifiers_new.3 | 139 + static/openbsd/man3/ASN1_BIT_STRING_set.3 | 140 + static/openbsd/man3/ASN1_INTEGER_get.3 | 429 + static/openbsd/man3/ASN1_NULL_new.3 | 67 + static/openbsd/man3/ASN1_OBJECT_new.3 | 229 + static/openbsd/man3/ASN1_PRINTABLE_type.3 | 93 + static/openbsd/man3/ASN1_STRING_TABLE_get.3 | 91 + static/openbsd/man3/ASN1_STRING_length.3 | 460 + static/openbsd/man3/ASN1_STRING_new.3 | 302 + static/openbsd/man3/ASN1_STRING_print_ex.3 | 241 + static/openbsd/man3/ASN1_TIME_set.3 | 753 ++ static/openbsd/man3/ASN1_TYPE_get.3 | 444 + .../openbsd/man3/ASN1_UNIVERSALSTRING_to_string.3 | 65 + static/openbsd/man3/ASN1_generate_nconf.3 | 395 + static/openbsd/man3/ASN1_get_object.3 | 201 + static/openbsd/man3/ASN1_item_d2i.3 | 493 + static/openbsd/man3/ASN1_item_digest.3 | 72 + static/openbsd/man3/ASN1_item_new.3 | 127 + static/openbsd/man3/ASN1_item_pack.3 | 85 + static/openbsd/man3/ASN1_item_sign.3 | 121 + static/openbsd/man3/ASN1_item_verify.3 | 78 + static/openbsd/man3/ASN1_mbstring_copy.3 | 370 + static/openbsd/man3/ASN1_parse_dump.3 | 217 + static/openbsd/man3/ASN1_put_object.3 | 227 + static/openbsd/man3/ASRange_new.3 | 411 + static/openbsd/man3/AUTHORITY_KEYID_new.3 | 74 + static/openbsd/man3/BASIC_CONSTRAINTS_new.3 | 90 + static/openbsd/man3/BF_set_key.3 | 270 + static/openbsd/man3/BIO_accept.3 | 388 + static/openbsd/man3/BIO_ctrl.3 | 638 + static/openbsd/man3/BIO_dump.3 | 97 + static/openbsd/man3/BIO_dup_chain.3 | 142 + static/openbsd/man3/BIO_f_base64.3 | 149 + static/openbsd/man3/BIO_f_buffer.3 | 263 + static/openbsd/man3/BIO_f_cipher.3 | 210 + static/openbsd/man3/BIO_f_md.3 | 367 + static/openbsd/man3/BIO_f_null.3 | 100 + static/openbsd/man3/BIO_f_ssl.3 | 610 + static/openbsd/man3/BIO_find_type.3 | 272 + static/openbsd/man3/BIO_get_data.3 | 407 + static/openbsd/man3/BIO_get_ex_new_index.3 | 199 + static/openbsd/man3/BIO_meth_new.3 | 368 + static/openbsd/man3/BIO_new.3 | 280 + static/openbsd/man3/BIO_new_CMS.3 | 142 + static/openbsd/man3/BIO_printf.3 | 47 + static/openbsd/man3/BIO_push.3 | 336 + static/openbsd/man3/BIO_read.3 | 282 + static/openbsd/man3/BIO_s_accept.3 | 415 + static/openbsd/man3/BIO_s_bio.3 | 417 + static/openbsd/man3/BIO_s_connect.3 | 504 + static/openbsd/man3/BIO_s_datagram.3 | 574 + static/openbsd/man3/BIO_s_fd.3 | 291 + static/openbsd/man3/BIO_s_file.3 | 378 + static/openbsd/man3/BIO_s_mem.3 | 322 + static/openbsd/man3/BIO_s_null.3 | 101 + static/openbsd/man3/BIO_s_socket.3 | 126 + static/openbsd/man3/BIO_set_callback.3 | 397 + static/openbsd/man3/BIO_should_retry.3 | 302 + static/openbsd/man3/BN_CTX_new.3 | 124 + static/openbsd/man3/BN_CTX_start.3 | 138 + static/openbsd/man3/BN_add.3 | 644 + static/openbsd/man3/BN_add_word.3 | 183 + static/openbsd/man3/BN_bn2bin.3 | 389 + static/openbsd/man3/BN_cmp.3 | 170 + static/openbsd/man3/BN_copy.3 | 166 + static/openbsd/man3/BN_generate_prime.3 | 376 + static/openbsd/man3/BN_get_rfc3526_prime_8192.3 | 154 + static/openbsd/man3/BN_kronecker.3 | 58 + static/openbsd/man3/BN_mod_inverse.3 | 127 + static/openbsd/man3/BN_mod_mul_montgomery.3 | 272 + static/openbsd/man3/BN_mod_sqrt.3 | 112 + static/openbsd/man3/BN_new.3 | 164 + static/openbsd/man3/BN_num_bytes.3 | 176 + static/openbsd/man3/BN_rand.3 | 147 + static/openbsd/man3/BN_set_bit.3 | 217 + static/openbsd/man3/BN_set_flags.3 | 161 + static/openbsd/man3/BN_set_negative.3 | 64 + static/openbsd/man3/BN_swap.3 | 149 + static/openbsd/man3/BN_zero.3 | 174 + static/openbsd/man3/BUF_MEM_new.3 | 154 + static/openbsd/man3/CMAC_Init.3 | 274 + static/openbsd/man3/CMS_ContentInfo_new.3 | 136 + static/openbsd/man3/CMS_add0_cert.3 | 223 + static/openbsd/man3/CMS_add1_recipient_cert.3 | 201 + static/openbsd/man3/CMS_add1_signer.3 | 250 + static/openbsd/man3/CMS_compress.3 | 171 + static/openbsd/man3/CMS_decrypt.3 | 227 + static/openbsd/man3/CMS_encrypt.3 | 192 + static/openbsd/man3/CMS_final.3 | 102 + static/openbsd/man3/CMS_get0_RecipientInfos.3 | 329 + static/openbsd/man3/CMS_get0_SignerInfos.3 | 215 + static/openbsd/man3/CMS_get0_type.3 | 227 + static/openbsd/man3/CMS_get1_ReceiptRequest.3 | 199 + static/openbsd/man3/CMS_sign.3 | 247 + static/openbsd/man3/CMS_sign_receipt.3 | 120 + static/openbsd/man3/CMS_signed_add1_attr.3 | 361 + static/openbsd/man3/CMS_uncompress.3 | 116 + static/openbsd/man3/CMS_verify.3 | 231 + static/openbsd/man3/CMS_verify_receipt.3 | 111 + static/openbsd/man3/CONF_modules_free.3 | 101 + static/openbsd/man3/CONF_modules_load_file.3 | 277 + static/openbsd/man3/CRYPTO_lock.3 | 122 + static/openbsd/man3/CRYPTO_memcmp.3 | 96 + static/openbsd/man3/CRYPTO_set_ex_data.3 | 565 + static/openbsd/man3/CRYPTO_set_mem_functions.3 | 97 + static/openbsd/man3/ChaCha.3 | 254 + static/openbsd/man3/DES_set_key.3 | 788 ++ static/openbsd/man3/DH_generate_key.3 | 123 + static/openbsd/man3/DH_generate_parameters.3 | 242 + static/openbsd/man3/DH_get0_pqg.3 | 343 + static/openbsd/man3/DH_get_ex_new_index.3 | 100 + static/openbsd/man3/DH_new.3 | 134 + static/openbsd/man3/DH_set_method.3 | 196 + static/openbsd/man3/DH_size.3 | 98 + static/openbsd/man3/DIST_POINT_new.3 | 155 + static/openbsd/man3/DSA_SIG_new.3 | 142 + static/openbsd/man3/DSA_do_sign.3 | 120 + static/openbsd/man3/DSA_dup_DH.3 | 89 + static/openbsd/man3/DSA_generate_key.3 | 85 + static/openbsd/man3/DSA_generate_parameters_ex.3 | 173 + static/openbsd/man3/DSA_get0_pqg.3 | 321 + static/openbsd/man3/DSA_get_ex_new_index.3 | 99 + static/openbsd/man3/DSA_meth_new.3 | 231 + static/openbsd/man3/DSA_new.3 | 142 + static/openbsd/man3/DSA_set_method.3 | 179 + static/openbsd/man3/DSA_sign.3 | 174 + static/openbsd/man3/DSA_size.3 | 123 + static/openbsd/man3/DTLSv1_listen.3 | 188 + static/openbsd/man3/ECDH_compute_key.3 | 89 + static/openbsd/man3/ECDSA_SIG_new.3 | 453 + static/openbsd/man3/EC_GROUP_check.3 | 160 + static/openbsd/man3/EC_GROUP_get_curve_name.3 | 266 + static/openbsd/man3/EC_GROUP_new_by_curve_name.3 | 311 + static/openbsd/man3/EC_GROUP_new_curve_GFp.3 | 463 + static/openbsd/man3/EC_KEY_METHOD_new.3 | 330 + static/openbsd/man3/EC_KEY_new.3 | 536 + static/openbsd/man3/EC_POINT_add.3 | 223 + .../openbsd/man3/EC_POINT_get_affine_coordinates.3 | 216 + static/openbsd/man3/EC_POINT_new.3 | 208 + static/openbsd/man3/EC_POINT_point2oct.3 | 434 + static/openbsd/man3/ENGINE_new.3 | 175 + static/openbsd/man3/ERR_GET_LIB.3 | 127 + static/openbsd/man3/ERR_asprintf_error_data.3 | 56 + static/openbsd/man3/ERR_clear_error.3 | 71 + static/openbsd/man3/ERR_error_string.3 | 177 + static/openbsd/man3/ERR_get_error.3 | 192 + static/openbsd/man3/ERR_load_crypto_strings.3 | 153 + static/openbsd/man3/ERR_load_strings.3 | 117 + static/openbsd/man3/ERR_print_errors.3 | 123 + static/openbsd/man3/ERR_put_error.3 | 126 + static/openbsd/man3/ERR_remove_state.3 | 109 + static/openbsd/man3/ERR_set_mark.3 | 87 + static/openbsd/man3/ESS_SIGNING_CERT_new.3 | 118 + static/openbsd/man3/EVP_AEAD_CTX_init.3 | 412 + static/openbsd/man3/EVP_BytesToKey.3 | 146 + static/openbsd/man3/EVP_CIPHER_CTX_ctrl.3 | 262 + .../openbsd/man3/EVP_CIPHER_CTX_get_cipher_data.3 | 147 + static/openbsd/man3/EVP_CIPHER_CTX_init.3 | 210 + static/openbsd/man3/EVP_CIPHER_CTX_set_flags.3 | 234 + static/openbsd/man3/EVP_CIPHER_do_all.3 | 212 + static/openbsd/man3/EVP_CIPHER_meth_new.3 | 389 + static/openbsd/man3/EVP_CIPHER_nid.3 | 307 + static/openbsd/man3/EVP_DigestInit.3 | 608 + static/openbsd/man3/EVP_DigestSignInit.3 | 244 + static/openbsd/man3/EVP_DigestVerifyInit.3 | 224 + static/openbsd/man3/EVP_EncodeInit.3 | 335 + static/openbsd/man3/EVP_EncryptInit.3 | 814 ++ static/openbsd/man3/EVP_MD_CTX_ctrl.3 | 282 + static/openbsd/man3/EVP_MD_nid.3 | 316 + static/openbsd/man3/EVP_OpenInit.3 | 156 + static/openbsd/man3/EVP_PKCS82PKEY.3 | 61 + static/openbsd/man3/EVP_PKEY_CTX_ctrl.3 | 583 + static/openbsd/man3/EVP_PKEY_CTX_get_operation.3 | 138 + static/openbsd/man3/EVP_PKEY_CTX_new.3 | 184 + static/openbsd/man3/EVP_PKEY_CTX_set_hkdf_md.3 | 259 + static/openbsd/man3/EVP_PKEY_CTX_set_tls1_prf_md.3 | 172 + static/openbsd/man3/EVP_PKEY_asn1_get_count.3 | 243 + static/openbsd/man3/EVP_PKEY_cmp.3 | 180 + static/openbsd/man3/EVP_PKEY_decrypt.3 | 176 + static/openbsd/man3/EVP_PKEY_derive.3 | 255 + static/openbsd/man3/EVP_PKEY_encrypt.3 | 184 + .../openbsd/man3/EVP_PKEY_get_default_digest_nid.3 | 129 + static/openbsd/man3/EVP_PKEY_keygen.3 | 370 + static/openbsd/man3/EVP_PKEY_new.3 | 348 + static/openbsd/man3/EVP_PKEY_new_CMAC_key.3 | 160 + static/openbsd/man3/EVP_PKEY_print_private.3 | 130 + static/openbsd/man3/EVP_PKEY_set1_RSA.3 | 499 + static/openbsd/man3/EVP_PKEY_sign.3 | 191 + static/openbsd/man3/EVP_PKEY_size.3 | 225 + static/openbsd/man3/EVP_PKEY_verify.3 | 168 + static/openbsd/man3/EVP_PKEY_verify_recover.3 | 189 + static/openbsd/man3/EVP_SealInit.3 | 202 + static/openbsd/man3/EVP_SignInit.3 | 212 + static/openbsd/man3/EVP_VerifyInit.3 | 206 + static/openbsd/man3/EVP_aes_128_cbc.3 | 305 + static/openbsd/man3/EVP_aes_128_ccm.3 | 574 + static/openbsd/man3/EVP_aes_128_gcm.3 | 255 + static/openbsd/man3/EVP_camellia_128_cbc.3 | 152 + static/openbsd/man3/EVP_chacha20.3 | 293 + static/openbsd/man3/EVP_des_cbc.3 | 231 + static/openbsd/man3/EVP_rc2_cbc.3 | 202 + static/openbsd/man3/EVP_rc4.3 | 110 + static/openbsd/man3/EVP_sha1.3 | 121 + static/openbsd/man3/EVP_sha3_224.3 | 92 + static/openbsd/man3/EVP_sm3.3 | 83 + static/openbsd/man3/EVP_sm4_cbc.3 | 83 + static/openbsd/man3/EXTENDED_KEY_USAGE_new.3 | 85 + static/openbsd/man3/GENERAL_NAME_new.3 | 166 + static/openbsd/man3/HMAC.3 | 325 + static/openbsd/man3/IPAddressRange_new.3 | 526 + static/openbsd/man3/MB_CUR_MAX.3 | 118 + static/openbsd/man3/MD5.3 | 202 + static/openbsd/man3/MD5Init.3 | 213 + static/openbsd/man3/NAME_CONSTRAINTS_new.3 | 101 + static/openbsd/man3/OBJ_create.3 | 249 + static/openbsd/man3/OBJ_find_sigid_algs.3 | 89 + static/openbsd/man3/OBJ_nid2obj.3 | 522 + static/openbsd/man3/OCSP_CRLID_new.3 | 114 + static/openbsd/man3/OCSP_REQUEST_new.3 | 330 + static/openbsd/man3/OCSP_SERVICELOC_new.3 | 110 + static/openbsd/man3/OCSP_cert_to_id.3 | 240 + static/openbsd/man3/OCSP_request_add1_nonce.3 | 164 + static/openbsd/man3/OCSP_resp_find_status.3 | 495 + static/openbsd/man3/OCSP_response_status.3 | 309 + static/openbsd/man3/OCSP_sendreq_new.3 | 324 + static/openbsd/man3/OPENSSL_VERSION_NUMBER.3 | 282 + static/openbsd/man3/OPENSSL_cleanse.3 | 43 + static/openbsd/man3/OPENSSL_config.3 | 150 + static/openbsd/man3/OPENSSL_init_crypto.3 | 112 + static/openbsd/man3/OPENSSL_init_ssl.3 | 77 + static/openbsd/man3/OPENSSL_malloc.3 | 102 + static/openbsd/man3/OPENSSL_sk_new.3 | 554 + static/openbsd/man3/OpenSSL_add_all_algorithms.3 | 169 + static/openbsd/man3/PEM_ASN1_read.3 | 173 + static/openbsd/man3/PEM_X509_INFO_read_bio.3 | 173 + static/openbsd/man3/PEM_bytes_read_bio.3 | 185 + static/openbsd/man3/PEM_read.3 | 417 + static/openbsd/man3/PEM_read_SSL_SESSION.3 | 148 + static/openbsd/man3/PEM_read_bio_PrivateKey.3 | 1336 ++ static/openbsd/man3/PEM_write_bio_CMS_stream.3 | 96 + static/openbsd/man3/PEM_write_bio_PKCS7_stream.3 | 91 + static/openbsd/man3/PKCS12_SAFEBAG_new.3 | 105 + static/openbsd/man3/PKCS12_create.3 | 189 + static/openbsd/man3/PKCS12_new.3 | 100 + static/openbsd/man3/PKCS12_newpass.3 | 156 + static/openbsd/man3/PKCS12_parse.3 | 146 + static/openbsd/man3/PKCS5_PBKDF2_HMAC.3 | 164 + static/openbsd/man3/PKCS7_add_attribute.3 | 370 + static/openbsd/man3/PKCS7_dataFinal.3 | 159 + static/openbsd/man3/PKCS7_dataInit.3 | 227 + static/openbsd/man3/PKCS7_decrypt.3 | 119 + static/openbsd/man3/PKCS7_encrypt.3 | 170 + static/openbsd/man3/PKCS7_final.3 | 203 + static/openbsd/man3/PKCS7_get_signer_info.3 | 63 + static/openbsd/man3/PKCS7_new.3 | 270 + static/openbsd/man3/PKCS7_set_content.3 | 121 + static/openbsd/man3/PKCS7_set_type.3 | 120 + static/openbsd/man3/PKCS7_sign.3 | 252 + static/openbsd/man3/PKCS7_sign_add_signer.3 | 188 + static/openbsd/man3/PKCS7_verify.3 | 262 + static/openbsd/man3/PKCS8_PRIV_KEY_INFO_new.3 | 66 + static/openbsd/man3/PKCS8_pkey_set0.3 | 160 + static/openbsd/man3/PKEY_USAGE_PERIOD_new.3 | 75 + static/openbsd/man3/POLICYINFO_new.3 | 219 + static/openbsd/man3/RAND_add.3 | 74 + static/openbsd/man3/RAND_bytes.3 | 109 + static/openbsd/man3/RAND_load_file.3 | 120 + static/openbsd/man3/RAND_set_rand_method.3 | 56 + static/openbsd/man3/RC2_encrypt.3 | 196 + static/openbsd/man3/RC4.3 | 127 + static/openbsd/man3/RIPEMD160.3 | 155 + static/openbsd/man3/RMD160Init.3 | 236 + static/openbsd/man3/RSA_PSS_PARAMS_new.3 | 61 + static/openbsd/man3/RSA_blinding_on.3 | 98 + static/openbsd/man3/RSA_check_key.3 | 131 + static/openbsd/man3/RSA_generate_key.3 | 165 + static/openbsd/man3/RSA_get0_key.3 | 461 + static/openbsd/man3/RSA_get_ex_new_index.3 | 383 + static/openbsd/man3/RSA_meth_new.3 | 607 + static/openbsd/man3/RSA_new.3 | 249 + static/openbsd/man3/RSA_padding_add_PKCS1_type_1.3 | 237 + static/openbsd/man3/RSA_pkey_ctx_ctrl.3 | 403 + static/openbsd/man3/RSA_print.3 | 145 + static/openbsd/man3/RSA_private_encrypt.3 | 151 + static/openbsd/man3/RSA_public_encrypt.3 | 248 + static/openbsd/man3/RSA_security_bits.3 | 138 + static/openbsd/man3/RSA_set_method.3 | 253 + static/openbsd/man3/RSA_sign.3 | 148 + static/openbsd/man3/RSA_sign_ASN1_OCTET_STRING.3 | 132 + static/openbsd/man3/RSA_size.3 | 98 + static/openbsd/man3/SHA1.3 | 286 + static/openbsd/man3/SHA1Init.3 | 239 + static/openbsd/man3/SHA256Init.3 | 349 + static/openbsd/man3/SMIME_crlf_copy.3 | 99 + static/openbsd/man3/SMIME_read_CMS.3 | 136 + static/openbsd/man3/SMIME_read_PKCS7.3 | 154 + static/openbsd/man3/SMIME_text.3 | 61 + static/openbsd/man3/SMIME_write_CMS.3 | 223 + static/openbsd/man3/SMIME_write_PKCS7.3 | 228 + static/openbsd/man3/SSL_CIPHER_get_name.3 | 399 + .../openbsd/man3/SSL_COMP_add_compression_method.3 | 43 + static/openbsd/man3/SSL_CTX_add1_chain_cert.3 | 223 + static/openbsd/man3/SSL_CTX_add_extra_chain_cert.3 | 161 + static/openbsd/man3/SSL_CTX_add_session.3 | 133 + static/openbsd/man3/SSL_CTX_ctrl.3 | 123 + static/openbsd/man3/SSL_CTX_flush_sessions.3 | 101 + static/openbsd/man3/SSL_CTX_free.3 | 102 + static/openbsd/man3/SSL_CTX_get0_certificate.3 | 53 + static/openbsd/man3/SSL_CTX_get_ex_new_index.3 | 125 + static/openbsd/man3/SSL_CTX_get_verify_mode.3 | 132 + .../openbsd/man3/SSL_CTX_load_verify_locations.3 | 239 + static/openbsd/man3/SSL_CTX_new.3 | 346 + static/openbsd/man3/SSL_CTX_sess_number.3 | 169 + static/openbsd/man3/SSL_CTX_sess_set_cache_size.3 | 110 + static/openbsd/man3/SSL_CTX_sess_set_get_cb.3 | 222 + static/openbsd/man3/SSL_CTX_sessions.3 | 87 + static/openbsd/man3/SSL_CTX_set1_groups.3 | 164 + static/openbsd/man3/SSL_CTX_set_alpn_select_cb.3 | 306 + static/openbsd/man3/SSL_CTX_set_cert_store.3 | 147 + .../man3/SSL_CTX_set_cert_verify_callback.3 | 164 + static/openbsd/man3/SSL_CTX_set_cipher_list.3 | 376 + static/openbsd/man3/SSL_CTX_set_client_CA_list.3 | 184 + static/openbsd/man3/SSL_CTX_set_client_cert_cb.3 | 192 + .../openbsd/man3/SSL_CTX_set_default_passwd_cb.3 | 217 + .../openbsd/man3/SSL_CTX_set_generate_session_id.3 | 222 + static/openbsd/man3/SSL_CTX_set_info_callback.3 | 234 + static/openbsd/man3/SSL_CTX_set_keylog_callback.3 | 57 + static/openbsd/man3/SSL_CTX_set_max_cert_list.3 | 155 + .../openbsd/man3/SSL_CTX_set_min_proto_version.3 | 157 + static/openbsd/man3/SSL_CTX_set_mode.3 | 205 + static/openbsd/man3/SSL_CTX_set_msg_callback.3 | 184 + static/openbsd/man3/SSL_CTX_set_num_tickets.3 | 64 + static/openbsd/man3/SSL_CTX_set_options.3 | 375 + static/openbsd/man3/SSL_CTX_set_quiet_shutdown.3 | 162 + static/openbsd/man3/SSL_CTX_set_read_ahead.3 | 145 + static/openbsd/man3/SSL_CTX_set_security_level.3 | 160 + .../openbsd/man3/SSL_CTX_set_session_cache_mode.3 | 199 + .../openbsd/man3/SSL_CTX_set_session_id_context.3 | 161 + static/openbsd/man3/SSL_CTX_set_ssl_version.3 | 147 + static/openbsd/man3/SSL_CTX_set_timeout.3 | 119 + .../man3/SSL_CTX_set_tlsext_servername_callback.3 | 248 + static/openbsd/man3/SSL_CTX_set_tlsext_status_cb.3 | 239 + .../man3/SSL_CTX_set_tlsext_ticket_key_cb.3 | 301 + static/openbsd/man3/SSL_CTX_set_tlsext_use_srtp.3 | 198 + static/openbsd/man3/SSL_CTX_set_tmp_dh_callback.3 | 230 + static/openbsd/man3/SSL_CTX_set_tmp_rsa_callback.3 | 115 + static/openbsd/man3/SSL_CTX_set_verify.3 | 480 + static/openbsd/man3/SSL_CTX_use_certificate.3 | 452 + static/openbsd/man3/SSL_SESSION_free.3 | 149 + static/openbsd/man3/SSL_SESSION_get0_cipher.3 | 95 + static/openbsd/man3/SSL_SESSION_get0_peer.3 | 81 + static/openbsd/man3/SSL_SESSION_get_compress_id.3 | 79 + static/openbsd/man3/SSL_SESSION_get_ex_new_index.3 | 135 + static/openbsd/man3/SSL_SESSION_get_id.3 | 113 + .../man3/SSL_SESSION_get_protocol_version.3 | 85 + static/openbsd/man3/SSL_SESSION_get_time.3 | 166 + static/openbsd/man3/SSL_SESSION_has_ticket.3 | 86 + static/openbsd/man3/SSL_SESSION_is_resumable.3 | 82 + static/openbsd/man3/SSL_SESSION_new.3 | 97 + static/openbsd/man3/SSL_SESSION_print.3 | 75 + static/openbsd/man3/SSL_SESSION_set1_id_context.3 | 114 + static/openbsd/man3/SSL_accept.3 | 156 + static/openbsd/man3/SSL_alert_type_string.3 | 254 + static/openbsd/man3/SSL_clear.3 | 145 + static/openbsd/man3/SSL_connect.3 | 155 + static/openbsd/man3/SSL_copy_session_id.3 | 80 + static/openbsd/man3/SSL_do_handshake.3 | 153 + static/openbsd/man3/SSL_dup.3 | 63 + static/openbsd/man3/SSL_dup_CA_list.3 | 56 + static/openbsd/man3/SSL_export_keying_material.3 | 134 + static/openbsd/man3/SSL_free.3 | 116 + static/openbsd/man3/SSL_get_SSL_CTX.3 | 80 + static/openbsd/man3/SSL_get_certificate.3 | 65 + static/openbsd/man3/SSL_get_ciphers.3 | 250 + static/openbsd/man3/SSL_get_client_CA_list.3 | 97 + static/openbsd/man3/SSL_get_client_random.3 | 151 + static/openbsd/man3/SSL_get_current_cipher.3 | 123 + static/openbsd/man3/SSL_get_default_timeout.3 | 86 + static/openbsd/man3/SSL_get_error.3 | 218 + .../man3/SSL_get_ex_data_X509_STORE_CTX_idx.3 | 117 + static/openbsd/man3/SSL_get_ex_new_index.3 | 137 + static/openbsd/man3/SSL_get_fd.3 | 104 + static/openbsd/man3/SSL_get_finished.3 | 78 + static/openbsd/man3/SSL_get_peer_cert_chain.3 | 108 + static/openbsd/man3/SSL_get_peer_certificate.3 | 106 + static/openbsd/man3/SSL_get_rbio.3 | 99 + static/openbsd/man3/SSL_get_server_tmp_key.3 | 90 + static/openbsd/man3/SSL_get_session.3 | 164 + static/openbsd/man3/SSL_get_shared_ciphers.3 | 104 + static/openbsd/man3/SSL_get_state.3 | 162 + static/openbsd/man3/SSL_get_verify_result.3 | 103 + static/openbsd/man3/SSL_get_version.3 | 118 + static/openbsd/man3/SSL_library_init.3 | 99 + static/openbsd/man3/SSL_load_client_CA_file.3 | 186 + static/openbsd/man3/SSL_new.3 | 111 + static/openbsd/man3/SSL_num_renegotiations.3 | 76 + static/openbsd/man3/SSL_pending.3 | 91 + static/openbsd/man3/SSL_read.3 | 279 + static/openbsd/man3/SSL_read_early_data.3 | 175 + static/openbsd/man3/SSL_renegotiate.3 | 167 + static/openbsd/man3/SSL_rstate_string.3 | 109 + static/openbsd/man3/SSL_session_reused.3 | 85 + static/openbsd/man3/SSL_set1_host.3 | 173 + static/openbsd/man3/SSL_set1_param.3 | 138 + static/openbsd/man3/SSL_set_SSL_CTX.3 | 68 + static/openbsd/man3/SSL_set_bio.3 | 100 + static/openbsd/man3/SSL_set_connect_state.3 | 154 + static/openbsd/man3/SSL_set_fd.3 | 130 + static/openbsd/man3/SSL_set_max_send_fragment.3 | 98 + .../man3/SSL_set_psk_use_session_callback.3 | 87 + static/openbsd/man3/SSL_set_session.3 | 120 + static/openbsd/man3/SSL_set_shutdown.3 | 139 + static/openbsd/man3/SSL_set_tmp_ecdh.3 | 120 + static/openbsd/man3/SSL_set_verify_result.3 | 91 + static/openbsd/man3/SSL_shutdown.3 | 254 + static/openbsd/man3/SSL_state_string.3 | 111 + static/openbsd/man3/SSL_want.3 | 162 + static/openbsd/man3/SSL_write.3 | 250 + static/openbsd/man3/STACK_OF.3 | 208 + static/openbsd/man3/SipHash24_Init.3 | 103 + static/openbsd/man3/TS_REQ_new.3 | 183 + static/openbsd/man3/UI_create_method.3 | 285 + static/openbsd/man3/UI_get_string_type.3 | 282 + static/openbsd/man3/UI_new.3 | 530 + static/openbsd/man3/X25519.3 | 212 + static/openbsd/man3/X509V3_EXT_get_nid.3 | 95 + static/openbsd/man3/X509V3_EXT_print.3 | 196 + static/openbsd/man3/X509V3_extensions_print.3 | 101 + static/openbsd/man3/X509V3_get_d2i.3 | 508 + static/openbsd/man3/X509V3_parse_list.3 | 102 + static/openbsd/man3/X509_ALGOR_dup.3 | 298 + static/openbsd/man3/X509_ATTRIBUTE_get0_object.3 | 137 + static/openbsd/man3/X509_ATTRIBUTE_new.3 | 181 + static/openbsd/man3/X509_ATTRIBUTE_set1_object.3 | 268 + static/openbsd/man3/X509_CINF_new.3 | 118 + static/openbsd/man3/X509_CRL_get0_by_serial.3 | 180 + static/openbsd/man3/X509_CRL_new.3 | 144 + static/openbsd/man3/X509_CRL_print.3 | 114 + static/openbsd/man3/X509_EXTENSION_set_object.3 | 349 + static/openbsd/man3/X509_INFO_new.3 | 72 + static/openbsd/man3/X509_LOOKUP_hash_dir.3 | 189 + static/openbsd/man3/X509_LOOKUP_new.3 | 461 + static/openbsd/man3/X509_NAME_ENTRY_get_object.3 | 384 + static/openbsd/man3/X509_NAME_add_entry_by_txt.3 | 274 + static/openbsd/man3/X509_NAME_get_index_by_NID.3 | 266 + static/openbsd/man3/X509_NAME_hash.3 | 98 + static/openbsd/man3/X509_NAME_new.3 | 104 + static/openbsd/man3/X509_NAME_print_ex.3 | 261 + static/openbsd/man3/X509_OBJECT_get0_X509.3 | 253 + static/openbsd/man3/X509_PUBKEY_new.3 | 402 + static/openbsd/man3/X509_PURPOSE_set.3 | 296 + static/openbsd/man3/X509_REQ_add1_attr.3 | 173 + static/openbsd/man3/X509_REQ_add_extensions.3 | 114 + static/openbsd/man3/X509_REQ_new.3 | 146 + static/openbsd/man3/X509_REQ_print_ex.3 | 175 + static/openbsd/man3/X509_REVOKED_new.3 | 214 + static/openbsd/man3/X509_SIG_get0.3 | 91 + static/openbsd/man3/X509_SIG_new.3 | 69 + static/openbsd/man3/X509_STORE_CTX_get_error.3 | 592 + .../openbsd/man3/X509_STORE_CTX_get_ex_new_index.3 | 154 + static/openbsd/man3/X509_STORE_CTX_new.3 | 366 + static/openbsd/man3/X509_STORE_CTX_set_flags.3 | 325 + static/openbsd/man3/X509_STORE_CTX_set_verify.3 | 257 + static/openbsd/man3/X509_STORE_CTX_set_verify_cb.3 | 310 + static/openbsd/man3/X509_STORE_get_by_subject.3 | 247 + static/openbsd/man3/X509_STORE_load_locations.3 | 189 + static/openbsd/man3/X509_STORE_new.3 | 146 + static/openbsd/man3/X509_STORE_set1_param.3 | 269 + .../openbsd/man3/X509_STORE_set_verify_cb_func.3 | 122 + static/openbsd/man3/X509_VERIFY_PARAM_new.3 | 307 + static/openbsd/man3/X509_VERIFY_PARAM_set_flags.3 | 751 ++ static/openbsd/man3/X509_add1_trust_object.3 | 100 + static/openbsd/man3/X509_check_ca.3 | 118 + static/openbsd/man3/X509_check_host.3 | 247 + static/openbsd/man3/X509_check_issued.3 | 110 + static/openbsd/man3/X509_check_private_key.3 | 74 + static/openbsd/man3/X509_check_purpose.3 | 432 + static/openbsd/man3/X509_cmp.3 | 233 + static/openbsd/man3/X509_cmp_time.3 | 201 + static/openbsd/man3/X509_digest.3 | 156 + static/openbsd/man3/X509_find_by_subject.3 | 70 + static/openbsd/man3/X509_get0_notBefore.3 | 265 + static/openbsd/man3/X509_get0_signature.3 | 288 + static/openbsd/man3/X509_get1_email.3 | 124 + static/openbsd/man3/X509_get_extension_flags.3 | 235 + static/openbsd/man3/X509_get_pubkey.3 | 297 + static/openbsd/man3/X509_get_pubkey_parameters.3 | 100 + static/openbsd/man3/X509_get_serialNumber.3 | 130 + static/openbsd/man3/X509_get_subject_name.3 | 190 + static/openbsd/man3/X509_get_version.3 | 163 + static/openbsd/man3/X509_keyid_set1.3 | 172 + static/openbsd/man3/X509_load_cert_file.3 | 134 + static/openbsd/man3/X509_new.3 | 279 + static/openbsd/man3/X509_ocspid_print.3 | 59 + static/openbsd/man3/X509_print_ex.3 | 285 + static/openbsd/man3/X509_sign.3 | 210 + static/openbsd/man3/X509_signature_dump.3 | 86 + static/openbsd/man3/X509_verify_cert.3 | 94 + static/openbsd/man3/X509v3_addr_add_inherit.3 | 476 + static/openbsd/man3/X509v3_addr_get_range.3 | 133 + static/openbsd/man3/X509v3_addr_inherits.3 | 105 + static/openbsd/man3/X509v3_addr_subset.3 | 177 + static/openbsd/man3/X509v3_addr_validate_path.3 | 204 + static/openbsd/man3/X509v3_asid_add_id_or_range.3 | 328 + static/openbsd/man3/X509v3_get_ext_by_NID.3 | 409 + static/openbsd/man3/__fpending.3 | 129 + static/openbsd/man3/__tfork_thread.3 | 142 + static/openbsd/man3/a2d_ASN1_OBJECT.3 | 85 + static/openbsd/man3/a2i_ipadd.3 | 137 + static/openbsd/man3/a64l.3 | 133 + static/openbsd/man3/abort.3 | 77 + static/openbsd/man3/abs.3 | 75 + static/openbsd/man3/acos.3 | 82 + static/openbsd/man3/acosh.3 | 83 + static/openbsd/man3/agentx.3 | 661 + static/openbsd/man3/alarm.3 | 108 + static/openbsd/man3/alloca.3 | 74 + static/openbsd/man3/arc4random.3 | 116 + static/openbsd/man3/asin.3 | 84 + static/openbsd/man3/asinh.3 | 77 + static/openbsd/man3/asr_run.3 | 335 + static/openbsd/man3/atan.3 | 74 + static/openbsd/man3/atan2.3 | 99 + static/openbsd/man3/atanh.3 | 82 + static/openbsd/man3/atexit.3 | 97 + static/openbsd/man3/atof.3 | 81 + static/openbsd/man3/atoi.3 | 89 + static/openbsd/man3/atol.3 | 68 + static/openbsd/man3/atoll.3 | 68 + static/openbsd/man3/auth_subr.3 | 538 + static/openbsd/man3/authenticate.3 | 308 + static/openbsd/man3/authnone_create.3 | 130 + static/openbsd/man3/backtrace.3 | 151 + static/openbsd/man3/basename.3 | 93 + static/openbsd/man3/bcmp.3 | 67 + static/openbsd/man3/bcopy.3 | 67 + static/openbsd/man3/bcrypt_pbkdf.3 | 70 + static/openbsd/man3/bindresvport.3 | 142 + static/openbsd/man3/blowfish.3 | 103 + static/openbsd/man3/bsearch.3 | 84 + static/openbsd/man3/btowc.3 | 87 + static/openbsd/man3/btree.3 | 241 + static/openbsd/man3/bzero.3 | 92 + static/openbsd/man3/c16rtomb.3 | 207 + static/openbsd/man3/cacheflush.3 | 82 + static/openbsd/man3/cacos.3 | 68 + static/openbsd/man3/cacosh.3 | 69 + static/openbsd/man3/carg.3 | 60 + static/openbsd/man3/casin.3 | 68 + static/openbsd/man3/casinh.3 | 69 + static/openbsd/man3/catan.3 | 70 + static/openbsd/man3/catanh.3 | 69 + static/openbsd/man3/catclose.3 | 28 + static/openbsd/man3/catgets.3 | 42 + static/openbsd/man3/catopen.3 | 62 + static/openbsd/man3/ccos.3 | 67 + static/openbsd/man3/ccosh.3 | 67 + static/openbsd/man3/ceil.3 | 72 + static/openbsd/man3/cexp.3 | 67 + static/openbsd/man3/cgetent.3 | 595 + static/openbsd/man3/check_expire.3 | 63 + static/openbsd/man3/cimag.3 | 60 + static/openbsd/man3/clock.3 | 61 + static/openbsd/man3/clock_getcpuclockid.3 | 65 + static/openbsd/man3/clog.3 | 74 + static/openbsd/man3/compress.3 | 4032 ++++++ static/openbsd/man3/confstr.3 | 205 + static/openbsd/man3/conj.3 | 60 + static/openbsd/man3/copysign.3 | 77 + static/openbsd/man3/cos.3 | 90 + static/openbsd/man3/cosh.3 | 85 + static/openbsd/man3/cpow.3 | 65 + static/openbsd/man3/cproj.3 | 68 + static/openbsd/man3/creal.3 | 59 + static/openbsd/man3/creat.3 | 64 + static/openbsd/man3/crypt.3 | 144 + static/openbsd/man3/crypt_checkpass.3 | 113 + static/openbsd/man3/crypto.3 | 419 + static/openbsd/man3/csh.3 | 650 + static/openbsd/man3/csin.3 | 67 + static/openbsd/man3/csinh.3 | 66 + static/openbsd/man3/csqrt.3 | 73 + static/openbsd/man3/ctan.3 | 73 + static/openbsd/man3/ctanh.3 | 67 + static/openbsd/man3/ctermid.3 | 77 + static/openbsd/man3/ctime.3 | 421 + static/openbsd/man3/curs_add_wch.3 | 357 + static/openbsd/man3/curs_add_wchstr.3 | 124 + static/openbsd/man3/curs_addch.3 | 323 + static/openbsd/man3/curs_addchstr.3 | 119 + static/openbsd/man3/curs_addstr.3 | 121 + static/openbsd/man3/curs_addwstr.3 | 117 + static/openbsd/man3/curs_attr.3 | 617 + static/openbsd/man3/curs_beep.3 | 63 + static/openbsd/man3/curs_bkgd.3 | 164 + static/openbsd/man3/curs_bkgrnd.3 | 119 + static/openbsd/man3/curs_border.3 | 164 + static/openbsd/man3/curs_border_set.3 | 207 + static/openbsd/man3/curs_clear.3 | 136 + static/openbsd/man3/curs_color.3 | 542 + static/openbsd/man3/curs_delch.3 | 77 + static/openbsd/man3/curs_deleteln.3 | 94 + static/openbsd/man3/curs_extend.3 | 96 + static/openbsd/man3/curs_get_wch.3 | 195 + static/openbsd/man3/curs_get_wstr.3 | 226 + static/openbsd/man3/curs_getcchar.3 | 196 + static/openbsd/man3/curs_getch.3 | 419 + static/openbsd/man3/curs_getstr.3 | 292 + static/openbsd/man3/curs_getyx.3 | 102 + static/openbsd/man3/curs_in_wch.3 | 72 + static/openbsd/man3/curs_in_wchstr.3 | 127 + static/openbsd/man3/curs_inch.3 | 120 + static/openbsd/man3/curs_inchstr.3 | 115 + static/openbsd/man3/curs_initscr.3 | 310 + static/openbsd/man3/curs_inopts.3 | 415 + static/openbsd/man3/curs_ins_wch.3 | 69 + static/openbsd/man3/curs_ins_wstr.3 | 112 + static/openbsd/man3/curs_insch.3 | 80 + static/openbsd/man3/curs_insstr.3 | 106 + static/openbsd/man3/curs_instr.3 | 100 + static/openbsd/man3/curs_inwstr.3 | 105 + static/openbsd/man3/curs_kernel.3 | 225 + static/openbsd/man3/curs_legacy.3 | 109 + static/openbsd/man3/curs_memleaks.3 | 127 + static/openbsd/man3/curs_mouse.3 | 418 + static/openbsd/man3/curs_move.3 | 67 + static/openbsd/man3/curs_opaque.3 | 156 + static/openbsd/man3/curs_outopts.3 | 215 + static/openbsd/man3/curs_overlay.3 | 89 + static/openbsd/man3/curs_pad.3 | 240 + static/openbsd/man3/curs_print.3 | 74 + static/openbsd/man3/curs_printw.3 | 156 + static/openbsd/man3/curs_refresh.3 | 164 + static/openbsd/man3/curs_scanw.3 | 171 + static/openbsd/man3/curs_scr_dump.3 | 117 + static/openbsd/man3/curs_scroll.3 | 96 + static/openbsd/man3/curs_slk.3 | 354 + static/openbsd/man3/curs_sp_funcs.3 | 286 + static/openbsd/man3/curs_termattrs.3 | 137 + static/openbsd/man3/curs_threads.3 | 604 + static/openbsd/man3/curs_touch.3 | 129 + static/openbsd/man3/curs_util.3 | 411 + static/openbsd/man3/curs_variables.3 | 188 + static/openbsd/man3/curs_window.3 | 275 + static/openbsd/man3/curses.3 | 1537 +++ static/openbsd/man3/d2i_ASN1_NULL.3 | 93 + static/openbsd/man3/d2i_ASN1_OBJECT.3 | 165 + static/openbsd/man3/d2i_ASN1_OCTET_STRING.3 | 462 + static/openbsd/man3/d2i_ASN1_SEQUENCE_ANY.3 | 99 + static/openbsd/man3/d2i_AUTHORITY_KEYID.3 | 76 + static/openbsd/man3/d2i_BASIC_CONSTRAINTS.3 | 107 + static/openbsd/man3/d2i_CMS_ContentInfo.3 | 129 + static/openbsd/man3/d2i_DHparams.3 | 100 + static/openbsd/man3/d2i_DIST_POINT.3 | 202 + static/openbsd/man3/d2i_DSAPublicKey.3 | 413 + static/openbsd/man3/d2i_ECPKParameters.3 | 467 + static/openbsd/man3/d2i_ESS_SIGNING_CERT.3 | 119 + static/openbsd/man3/d2i_GENERAL_NAME.3 | 161 + static/openbsd/man3/d2i_OCSP_REQUEST.3 | 182 + static/openbsd/man3/d2i_OCSP_RESPONSE.3 | 249 + static/openbsd/man3/d2i_PKCS12.3 | 203 + static/openbsd/man3/d2i_PKCS7.3 | 342 + static/openbsd/man3/d2i_PKCS8PrivateKey_bio.3 | 173 + static/openbsd/man3/d2i_PKCS8_PRIV_KEY_INFO.3 | 128 + static/openbsd/man3/d2i_PKEY_USAGE_PERIOD.3 | 75 + static/openbsd/man3/d2i_POLICYINFO.3 | 166 + static/openbsd/man3/d2i_PrivateKey.3 | 313 + static/openbsd/man3/d2i_RSAPublicKey.3 | 390 + static/openbsd/man3/d2i_SSL_SESSION.3 | 182 + static/openbsd/man3/d2i_TS_REQ.3 | 334 + static/openbsd/man3/d2i_X509.3 | 363 + static/openbsd/man3/d2i_X509_ALGOR.3 | 90 + static/openbsd/man3/d2i_X509_ATTRIBUTE.3 | 77 + static/openbsd/man3/d2i_X509_CRL.3 | 149 + static/openbsd/man3/d2i_X509_EXTENSION.3 | 105 + static/openbsd/man3/d2i_X509_NAME.3 | 214 + static/openbsd/man3/d2i_X509_REQ.3 | 152 + static/openbsd/man3/d2i_X509_SIG.3 | 160 + static/openbsd/man3/daemon.3 | 100 + static/openbsd/man3/dbopen.3 | 538 + static/openbsd/man3/default_colors.3 | 147 + static/openbsd/man3/define_key.3 | 68 + static/openbsd/man3/des_read_pw.3 | 198 + static/openbsd/man3/devname.3 | 66 + static/openbsd/man3/dirname.3 | 93 + static/openbsd/man3/div.3 | 63 + static/openbsd/man3/ecvt.3 | 166 + static/openbsd/man3/eddsa_pk_new.3 | 123 + static/openbsd/man3/editline.3 | 986 ++ static/openbsd/man3/elf.3 | 625 + static/openbsd/man3/elf_aux_info.3 | 74 + static/openbsd/man3/elf_begin.3 | 314 + static/openbsd/man3/elf_cntl.3 | 110 + static/openbsd/man3/elf_end.3 | 75 + static/openbsd/man3/elf_errmsg.3 | 106 + static/openbsd/man3/elf_fill.3 | 51 + static/openbsd/man3/elf_flagdata.3 | 226 + static/openbsd/man3/elf_getarhdr.3 | 96 + static/openbsd/man3/elf_getarsym.3 | 129 + static/openbsd/man3/elf_getbase.3 | 70 + static/openbsd/man3/elf_getdata.3 | 233 + static/openbsd/man3/elf_getident.3 | 82 + static/openbsd/man3/elf_getphdrnum.3 | 84 + static/openbsd/man3/elf_getphnum.3 | 91 + static/openbsd/man3/elf_getscn.3 | 154 + static/openbsd/man3/elf_getshdrnum.3 | 76 + static/openbsd/man3/elf_getshdrstrndx.3 | 77 + static/openbsd/man3/elf_getshnum.3 | 82 + static/openbsd/man3/elf_getshstrndx.3 | 93 + static/openbsd/man3/elf_hash.3 | 56 + static/openbsd/man3/elf_kind.3 | 70 + static/openbsd/man3/elf_memory.3 | 121 + static/openbsd/man3/elf_next.3 | 98 + static/openbsd/man3/elf_open.3 | 125 + static/openbsd/man3/elf_rand.3 | 117 + static/openbsd/man3/elf_rawfile.3 | 75 + static/openbsd/man3/elf_strptr.3 | 115 + static/openbsd/man3/elf_update.3 | 381 + static/openbsd/man3/elf_version.3 | 94 + static/openbsd/man3/erf.3 | 105 + static/openbsd/man3/err.3 | 153 + static/openbsd/man3/es256_pk_new.3 | 141 + static/openbsd/man3/ether_aton.3 | 114 + static/openbsd/man3/evbuffer_new.3 | 280 + static/openbsd/man3/event.3 | 596 + static/openbsd/man3/event_base_loop.3 | 192 + static/openbsd/man3/event_base_new.3 | 322 + static/openbsd/man3/event_set.3 | 419 + static/openbsd/man3/event_set_log_callback.3 | 138 + static/openbsd/man3/evp.3 | 250 + static/openbsd/man3/execv.3 | 264 + static/openbsd/man3/exit.3 | 101 + static/openbsd/man3/exp.3 | 351 + static/openbsd/man3/fabs.3 | 84 + static/openbsd/man3/fclose.3 | 141 + static/openbsd/man3/fdim.3 | 86 + static/openbsd/man3/feclearexcept.3 | 171 + static/openbsd/man3/feenableexcept.3 | 87 + static/openbsd/man3/fegetenv.3 | 128 + static/openbsd/man3/fegetround.3 | 82 + static/openbsd/man3/ferror.3 | 111 + static/openbsd/man3/fflush.3 | 132 + static/openbsd/man3/ffs.3 | 82 + static/openbsd/man3/fgetln.3 | 151 + static/openbsd/man3/fgets.3 | 201 + static/openbsd/man3/fgetwln.3 | 115 + static/openbsd/man3/fgetws.3 | 122 + static/openbsd/man3/fido_assert_allow_cred.3 | 48 + static/openbsd/man3/fido_assert_new.3 | 259 + static/openbsd/man3/fido_assert_set_authdata.3 | 239 + static/openbsd/man3/fido_assert_verify.3 | 80 + static/openbsd/man3/fido_bio_dev_get_info.3 | 123 + static/openbsd/man3/fido_bio_enroll_new.3 | 96 + static/openbsd/man3/fido_bio_info_new.3 | 82 + static/openbsd/man3/fido_bio_template.3 | 180 + static/openbsd/man3/fido_cbor_info_new.3 | 242 + static/openbsd/man3/fido_cred_exclude.3 | 61 + static/openbsd/man3/fido_cred_new.3 | 294 + static/openbsd/man3/fido_cred_set_authdata.3 | 355 + static/openbsd/man3/fido_cred_verify.3 | 92 + static/openbsd/man3/fido_credman_metadata_new.3 | 327 + static/openbsd/man3/fido_dev_enable_entattest.3 | 122 + static/openbsd/man3/fido_dev_get_assert.3 | 77 + static/openbsd/man3/fido_dev_get_touch_begin.3 | 74 + static/openbsd/man3/fido_dev_info_manifest.3 | 189 + static/openbsd/man3/fido_dev_largeblob_get.3 | 195 + static/openbsd/man3/fido_dev_make_cred.3 | 78 + static/openbsd/man3/fido_dev_open.3 | 294 + static/openbsd/man3/fido_dev_set_io_functions.3 | 239 + static/openbsd/man3/fido_dev_set_pin.3 | 104 + static/openbsd/man3/fido_init.3 | 73 + static/openbsd/man3/fido_strerr.3 | 28 + static/openbsd/man3/flockfile.3 | 74 + static/openbsd/man3/floor.3 | 77 + static/openbsd/man3/fma.3 | 59 + static/openbsd/man3/fmax.3 | 97 + static/openbsd/man3/fmemopen.3 | 198 + static/openbsd/man3/fmod.3 | 95 + static/openbsd/man3/fmt_scaled.3 | 135 + static/openbsd/man3/fn.3 | 13 + static/openbsd/man3/fnmatch.3 | 157 + static/openbsd/man3/fopen.3 | 300 + static/openbsd/man3/form.3 | 245 + static/openbsd/man3/form_cursor.3 | 73 + static/openbsd/man3/form_data.3 | 63 + static/openbsd/man3/form_driver.3 | 269 + static/openbsd/man3/form_field.3 | 95 + static/openbsd/man3/form_field_attributes.3 | 97 + static/openbsd/man3/form_field_buffer.3 | 145 + static/openbsd/man3/form_field_info.3 | 94 + static/openbsd/man3/form_field_just.3 | 80 + static/openbsd/man3/form_field_new.3 | 109 + static/openbsd/man3/form_field_opts.3 | 151 + static/openbsd/man3/form_field_userptr.3 | 68 + static/openbsd/man3/form_field_validation.3 | 234 + static/openbsd/man3/form_fieldtype.3 | 168 + static/openbsd/man3/form_hook.3 | 102 + static/openbsd/man3/form_new.3 | 87 + static/openbsd/man3/form_new_page.3 | 76 + static/openbsd/man3/form_opts.3 | 90 + static/openbsd/man3/form_page.3 | 102 + static/openbsd/man3/form_post.3 | 90 + static/openbsd/man3/form_requestname.3 | 71 + static/openbsd/man3/form_userptr.3 | 67 + static/openbsd/man3/form_variables.3 | 81 + static/openbsd/man3/form_win.3 | 97 + static/openbsd/man3/fparseln.3 | 140 + static/openbsd/man3/fpclassify.3 | 157 + static/openbsd/man3/fpgetmask.3 | 122 + static/openbsd/man3/fputs.3 | 107 + static/openbsd/man3/fputws.3 | 89 + static/openbsd/man3/fread.3 | 126 + static/openbsd/man3/frexp.3 | 96 + static/openbsd/man3/fseek.3 | 259 + static/openbsd/man3/ftok.3 | 86 + static/openbsd/man3/fts_open.3 | 757 ++ static/openbsd/man3/ftw.3 | 212 + static/openbsd/man3/funopen.3 | 156 + static/openbsd/man3/fuse_chan_fd.3 | 56 + static/openbsd/man3/fuse_daemonize.3 | 62 + static/openbsd/man3/fuse_destroy.3 | 57 + static/openbsd/man3/fuse_get_context.3 | 59 + static/openbsd/man3/fuse_get_session.3 | 45 + static/openbsd/man3/fuse_loop.3 | 91 + static/openbsd/man3/fuse_lowlevel_new.3 | 610 + static/openbsd/man3/fuse_main.3 | 153 + static/openbsd/man3/fuse_mount.3 | 125 + static/openbsd/man3/fuse_new.3 | 249 + static/openbsd/man3/fuse_opt.3 | 430 + static/openbsd/man3/fuse_parse_cmdline.3 | 101 + static/openbsd/man3/fuse_reply_err.3 | 203 + static/openbsd/man3/fuse_session_loop.3 | 120 + static/openbsd/man3/fuse_set_signal_handlers.3 | 68 + static/openbsd/man3/fuse_setup.3 | 97 + static/openbsd/man3/fuse_teardown.3 | 55 + static/openbsd/man3/fuse_version.3 | 43 + static/openbsd/man3/fwide.3 | 94 + static/openbsd/man3/gai_strerror.3 | 95 + static/openbsd/man3/gelf.3 | 204 + static/openbsd/man3/gelf_checksum.3 | 114 + static/openbsd/man3/gelf_fsize.3 | 95 + static/openbsd/man3/gelf_getcap.3 | 126 + static/openbsd/man3/gelf_getclass.3 | 60 + static/openbsd/man3/gelf_getdyn.3 | 129 + static/openbsd/man3/gelf_getehdr.3 | 122 + static/openbsd/man3/gelf_getmove.3 | 125 + static/openbsd/man3/gelf_getphdr.3 | 140 + static/openbsd/man3/gelf_getrel.3 | 126 + static/openbsd/man3/gelf_getrela.3 | 126 + static/openbsd/man3/gelf_getshdr.3 | 114 + static/openbsd/man3/gelf_getsym.3 | 130 + static/openbsd/man3/gelf_getsyminfo.3 | 120 + static/openbsd/man3/gelf_getsymshndx.3 | 169 + static/openbsd/man3/gelf_newehdr.3 | 196 + static/openbsd/man3/gelf_newphdr.3 | 143 + static/openbsd/man3/gelf_update_ehdr.3 | 122 + static/openbsd/man3/gelf_xlatetof.3 | 279 + static/openbsd/man3/get_fpc_csr.3 | 63 + static/openbsd/man3/getaddrinfo.3 | 481 + static/openbsd/man3/getbsize.3 | 76 + static/openbsd/man3/getc.3 | 171 + static/openbsd/man3/getcwd.3 | 190 + static/openbsd/man3/getdelim.3 | 171 + static/openbsd/man3/getdiskbyname.3 | 59 + static/openbsd/man3/getdomainname.3 | 104 + static/openbsd/man3/getdtablesize.3 | 62 + static/openbsd/man3/getenv.3 | 191 + static/openbsd/man3/getfsent.3 | 136 + static/openbsd/man3/getgrent.3 | 303 + static/openbsd/man3/getgrouplist.3 | 102 + static/openbsd/man3/gethostbyname.3 | 271 + static/openbsd/man3/gethostid.3 | 73 + static/openbsd/man3/gethostname.3 | 120 + static/openbsd/man3/getifaddrs.3 | 157 + static/openbsd/man3/getloadavg.3 | 68 + static/openbsd/man3/getmaxpartitions.3 | 53 + static/openbsd/man3/getmntinfo.3 | 102 + static/openbsd/man3/getnameinfo.3 | 264 + static/openbsd/man3/getnetent.3 | 147 + static/openbsd/man3/getnetgrent.3 | 127 + static/openbsd/man3/getopt.3 | 365 + static/openbsd/man3/getopt_long.3 | 460 + static/openbsd/man3/getpagesize.3 | 56 + static/openbsd/man3/getpass.3 | 131 + static/openbsd/man3/getpeereid.3 | 121 + static/openbsd/man3/getprogname.3 | 81 + static/openbsd/man3/getprotoent.3 | 213 + static/openbsd/man3/getpwent.3 | 190 + static/openbsd/man3/getpwnam.3 | 291 + static/openbsd/man3/getrawpartition.3 | 62 + static/openbsd/man3/getrpcent.3 | 122 + static/openbsd/man3/getrpcport.3 | 61 + static/openbsd/man3/getrrsetbyname.3 | 164 + static/openbsd/man3/getservent.3 | 220 + static/openbsd/man3/getsubopt.3 | 162 + static/openbsd/man3/getttyent.3 | 179 + static/openbsd/man3/getusershell.3 | 94 + static/openbsd/man3/getwc.3 | 113 + static/openbsd/man3/glob.3 | 499 + static/openbsd/man3/hash.3 | 160 + static/openbsd/man3/hcreate.3 | 234 + static/openbsd/man3/history.3 | 640 + static/openbsd/man3/htobe64.3 | 164 + static/openbsd/man3/htonl.3 | 102 + static/openbsd/man3/hypot.3 | 124 + static/openbsd/man3/i2a_ASN1_STRING.3 | 256 + static/openbsd/man3/i2d_CMS_bio_stream.3 | 96 + static/openbsd/man3/i2d_PKCS7_bio_stream.3 | 95 + static/openbsd/man3/ibuf_add.3 | 722 + static/openbsd/man3/icdb_new.3 | 68 + static/openbsd/man3/if_indextoname.3 | 143 + static/openbsd/man3/ilogb.3 | 88 + static/openbsd/man3/imaxabs.3 | 70 + static/openbsd/man3/imaxdiv.3 | 65 + static/openbsd/man3/imsg_init.3 | 515 + static/openbsd/man3/in.3 | 9 + static/openbsd/man3/inet6_opt_init.3 | 328 + static/openbsd/man3/inet6_rth_space.3 | 220 + static/openbsd/man3/inet_addr.3 | 195 + static/openbsd/man3/inet_lnaof.3 | 89 + static/openbsd/man3/inet_net_ntop.3 | 195 + static/openbsd/man3/inet_ntop.3 | 213 + static/openbsd/man3/initgroups.3 | 82 + static/openbsd/man3/insque.3 | 103 + static/openbsd/man3/isalnum.3 | 125 + static/openbsd/man3/isalpha.3 | 126 + static/openbsd/man3/isascii.3 | 77 + static/openbsd/man3/isblank.3 | 123 + static/openbsd/man3/iscntrl.3 | 116 + static/openbsd/man3/isdigit.3 | 116 + static/openbsd/man3/isduid.3 | 62 + static/openbsd/man3/isfdtype.3 | 73 + static/openbsd/man3/isgraph.3 | 122 + static/openbsd/man3/isgreater.3 | 101 + static/openbsd/man3/islower.3 | 125 + static/openbsd/man3/isprint.3 | 122 + static/openbsd/man3/ispunct.3 | 123 + static/openbsd/man3/isspace.3 | 132 + static/openbsd/man3/isupper.3 | 125 + static/openbsd/man3/iswalnum.3 | 166 + static/openbsd/man3/iswctype.3 | 95 + static/openbsd/man3/isxdigit.3 | 117 + static/openbsd/man3/j0.3 | 161 + static/openbsd/man3/key_defined.3 | 60 + static/openbsd/man3/keybound.3 | 63 + static/openbsd/man3/keynote.3 | 939 ++ static/openbsd/man3/keyok.3 | 62 + static/openbsd/man3/killpg.3 | 97 + static/openbsd/man3/kvm.3 | 109 + static/openbsd/man3/kvm_dump.3 | 104 + static/openbsd/man3/kvm_geterr.3 | 75 + static/openbsd/man3/kvm_getfiles.3 | 147 + static/openbsd/man3/kvm_getloadavg.3 | 64 + static/openbsd/man3/kvm_getprocs.3 | 188 + static/openbsd/man3/kvm_nlist.3 | 92 + static/openbsd/man3/kvm_open.3 | 203 + static/openbsd/man3/kvm_read.3 | 88 + static/openbsd/man3/labs.3 | 88 + static/openbsd/man3/ldexp.3 | 90 + static/openbsd/man3/ldiv.3 | 71 + static/openbsd/man3/legacy_coding.3 | 75 + static/openbsd/man3/lgamma.3 | 194 + static/openbsd/man3/lh_new.3 | 555 + static/openbsd/man3/link_ntoa.3 | 78 + static/openbsd/man3/lldiv.3 | 73 + static/openbsd/man3/localeconv.3 | 198 + static/openbsd/man3/lockf.3 | 259 + static/openbsd/man3/logb.3 | 117 + static/openbsd/man3/login.3 | 107 + static/openbsd/man3/login_cap.3 | 342 + static/openbsd/man3/login_fbtab.3 | 54 + static/openbsd/man3/lrint.3 | 113 + static/openbsd/man3/lround.3 | 100 + static/openbsd/man3/lsearch.3 | 106 + static/openbsd/man3/malloc.3 | 860 ++ static/openbsd/man3/mblen.3 | 177 + static/openbsd/man3/mbrlen.3 | 212 + static/openbsd/man3/mbrtoc16.3 | 265 + static/openbsd/man3/mbrtowc.3 | 332 + static/openbsd/man3/mbsinit.3 | 78 + static/openbsd/man3/mbsrtowcs.3 | 198 + static/openbsd/man3/mbstowcs.3 | 126 + static/openbsd/man3/mbtowc.3 | 249 + static/openbsd/man3/memccpy.3 | 81 + static/openbsd/man3/memchr.3 | 102 + static/openbsd/man3/memcmp.3 | 86 + static/openbsd/man3/memcpy.3 | 79 + static/openbsd/man3/memmem.3 | 77 + static/openbsd/man3/memmove.3 | 76 + static/openbsd/man3/memset.3 | 75 + static/openbsd/man3/menu.3 | 214 + static/openbsd/man3/menu_attributes.3 | 114 + static/openbsd/man3/menu_cursor.3 | 71 + static/openbsd/man3/menu_driver.3 | 207 + static/openbsd/man3/menu_format.3 | 89 + static/openbsd/man3/menu_hook.3 | 103 + static/openbsd/man3/menu_items.3 | 92 + static/openbsd/man3/menu_mark.3 | 85 + static/openbsd/man3/menu_new.3 | 84 + static/openbsd/man3/menu_opts.3 | 110 + static/openbsd/man3/menu_pattern.3 | 93 + static/openbsd/man3/menu_post.3 | 92 + static/openbsd/man3/menu_requestname.3 | 70 + static/openbsd/man3/menu_spacing.3 | 93 + static/openbsd/man3/menu_userptr.3 | 67 + static/openbsd/man3/menu_win.3 | 97 + static/openbsd/man3/mio_open.3 | 255 + static/openbsd/man3/mitem_current.3 | 102 + static/openbsd/man3/mitem_name.3 | 62 + static/openbsd/man3/mitem_new.3 | 92 + static/openbsd/man3/mitem_opts.3 | 85 + static/openbsd/man3/mitem_userptr.3 | 69 + static/openbsd/man3/mitem_value.3 | 74 + static/openbsd/man3/mitem_visible.3 | 56 + static/openbsd/man3/mktemp.3 | 431 + static/openbsd/man3/modf.3 | 85 + static/openbsd/man3/moncontrol.3 | 86 + static/openbsd/man3/nan.3 | 97 + static/openbsd/man3/ndbm.3 | 209 + static/openbsd/man3/new_pair.3 | 165 + static/openbsd/man3/newlocale.3 | 175 + static/openbsd/man3/nextafter.3 | 82 + static/openbsd/man3/nice.3 | 92 + static/openbsd/man3/nl_langinfo.3 | 78 + static/openbsd/man3/nlist.3 | 76 + static/openbsd/man3/ober_add_string.3 | 238 + static/openbsd/man3/ober_get_string.3 | 191 + static/openbsd/man3/ober_oid_cmp.3 | 99 + static/openbsd/man3/ober_read_elements.3 | 244 + static/openbsd/man3/ober_set_header.3 | 160 + static/openbsd/man3/ohash_init.3 | 272 + static/openbsd/man3/ohash_interval.3 | 94 + static/openbsd/man3/open_memstream.3 | 107 + static/openbsd/man3/opendev.3 | 114 + static/openbsd/man3/opendir.3 | 316 + static/openbsd/man3/opendisk.3 | 160 + static/openbsd/man3/openpty.3 | 219 + static/openbsd/man3/ossaudio.3 | 74 + static/openbsd/man3/panel.3 | 278 + static/openbsd/man3/pause.3 | 86 + static/openbsd/man3/pcap_open_live.3 | 667 + static/openbsd/man3/perror.3 | 88 + static/openbsd/man3/pidfile.3 | 83 + static/openbsd/man3/pkcs5_pbkdf2.3 | 64 + static/openbsd/man3/popen.3 | 195 + static/openbsd/man3/posix_memalign.3 | 97 + static/openbsd/man3/posix_openpt.3 | 102 + static/openbsd/man3/posix_spawn.3 | 135 + .../man3/posix_spawn_file_actions_addopen.3 | 106 + .../openbsd/man3/posix_spawn_file_actions_init.3 | 57 + static/openbsd/man3/posix_spawnattr_getflags.3 | 98 + static/openbsd/man3/posix_spawnattr_getpgroup.3 | 80 + static/openbsd/man3/posix_spawnattr_init.3 | 75 + static/openbsd/man3/printf.3 | 1033 ++ static/openbsd/man3/psignal.3 | 99 + static/openbsd/man3/pthread_atfork.3 | 90 + static/openbsd/man3/pthread_attr_init.3 | 81 + static/openbsd/man3/pthread_attr_setdetachstate.3 | 106 + static/openbsd/man3/pthread_attr_setguardsize.3 | 90 + static/openbsd/man3/pthread_attr_setstack.3 | 107 + static/openbsd/man3/pthread_attr_setstackaddr.3 | 83 + static/openbsd/man3/pthread_attr_setstacksize.3 | 80 + static/openbsd/man3/pthread_barrier_init.3 | 103 + static/openbsd/man3/pthread_barrier_wait.3 | 59 + .../openbsd/man3/pthread_barrierattr_getpshared.3 | 86 + static/openbsd/man3/pthread_barrierattr_init.3 | 78 + static/openbsd/man3/pthread_cancel.3 | 72 + static/openbsd/man3/pthread_cleanup_pop.3 | 64 + static/openbsd/man3/pthread_cleanup_push.3 | 67 + static/openbsd/man3/pthread_cond_init.3 | 174 + static/openbsd/man3/pthread_condattr_init.3 | 120 + static/openbsd/man3/pthread_create.3 | 126 + static/openbsd/man3/pthread_detach.3 | 90 + static/openbsd/man3/pthread_equal.3 | 69 + static/openbsd/man3/pthread_exit.3 | 106 + static/openbsd/man3/pthread_getconcurrency.3 | 115 + static/openbsd/man3/pthread_getcpuclockid.3 | 62 + static/openbsd/man3/pthread_getspecific.3 | 84 + static/openbsd/man3/pthread_join.3 | 103 + static/openbsd/man3/pthread_key_create.3 | 105 + static/openbsd/man3/pthread_key_delete.3 | 97 + static/openbsd/man3/pthread_kill.3 | 76 + static/openbsd/man3/pthread_main_np.3 | 40 + static/openbsd/man3/pthread_mutex_init.3 | 235 + static/openbsd/man3/pthread_mutexattr.3 | 178 + static/openbsd/man3/pthread_once.3 | 103 + static/openbsd/man3/pthread_rwlock_init.3 | 273 + static/openbsd/man3/pthread_rwlockattr_destroy.3 | 72 + .../openbsd/man3/pthread_rwlockattr_getpshared.3 | 85 + static/openbsd/man3/pthread_rwlockattr_init.3 | 71 + .../openbsd/man3/pthread_rwlockattr_setpshared.3 | 89 + static/openbsd/man3/pthread_schedparam.3 | 93 + static/openbsd/man3/pthread_self.3 | 62 + static/openbsd/man3/pthread_set_name_np.3 | 59 + static/openbsd/man3/pthread_setspecific.3 | 95 + static/openbsd/man3/pthread_sigmask.3 | 72 + static/openbsd/man3/pthread_spin_init.3 | 89 + static/openbsd/man3/pthread_spin_lock.3 | 84 + static/openbsd/man3/pthread_spin_unlock.3 | 60 + static/openbsd/man3/pthread_stackseg_np.3 | 50 + static/openbsd/man3/pthread_testcancel.3 | 236 + static/openbsd/man3/pthread_yield.3 | 28 + static/openbsd/man3/pthreads.3 | 481 + static/openbsd/man3/ptsname.3 | 160 + static/openbsd/man3/putc.3 | 177 + static/openbsd/man3/putwc.3 | 102 + static/openbsd/man3/pw_dup.3 | 80 + static/openbsd/man3/pw_init.3 | 219 + static/openbsd/man3/pw_lock.3 | 159 + static/openbsd/man3/qsort.3 | 276 + static/openbsd/man3/radius_new_request_packet.3 | 387 + static/openbsd/man3/radixsort.3 | 151 + static/openbsd/man3/raise.3 | 68 + static/openbsd/man3/rand.3 | 135 + static/openbsd/man3/rand48.3 | 240 + static/openbsd/man3/random.3 | 197 + static/openbsd/man3/rcmd.3 | 232 + static/openbsd/man3/rcmdsh.3 | 95 + static/openbsd/man3/readlabelfs.3 | 62 + static/openbsd/man3/readline.3 | 1272 ++ static/openbsd/man3/readpassphrase.3 | 167 + static/openbsd/man3/realpath.3 | 165 + static/openbsd/man3/recno.3 | 221 + static/openbsd/man3/regex.3 | 746 ++ static/openbsd/man3/remainder.3 | 148 + static/openbsd/man3/remove.3 | 80 + static/openbsd/man3/res_init.3 | 441 + static/openbsd/man3/resizeterm.3 | 178 + static/openbsd/man3/rint.3 | 85 + static/openbsd/man3/round.3 | 68 + static/openbsd/man3/rpc.3 | 1231 ++ static/openbsd/man3/rs256_pk_new.3 | 137 + static/openbsd/man3/s2i_ASN1_INTEGER.3 | 216 + static/openbsd/man3/scalbn.3 | 102 + static/openbsd/man3/scandir.3 | 172 + static/openbsd/man3/scanf.3 | 479 + static/openbsd/man3/sched_get_priority_min.3 | 74 + static/openbsd/man3/sdbm.3 | 295 + static/openbsd/man3/sem_destroy.3 | 86 + static/openbsd/man3/sem_getvalue.3 | 77 + static/openbsd/man3/sem_init.3 | 105 + static/openbsd/man3/sem_open.3 | 94 + static/openbsd/man3/sem_post.3 | 74 + static/openbsd/man3/sem_wait.3 | 133 + static/openbsd/man3/setbuf.3 | 140 + static/openbsd/man3/setjmp.3 | 211 + static/openbsd/man3/setlocale.3 | 326 + static/openbsd/man3/setmode.3 | 108 + static/openbsd/man3/setproctitle.3 | 94 + static/openbsd/man3/setvbuf.3 | 161 + static/openbsd/man3/shm_open.3 | 105 + static/openbsd/man3/sigaddset.3 | 116 + static/openbsd/man3/sigblock.3 | 122 + static/openbsd/man3/siginterrupt.3 | 91 + static/openbsd/man3/signal.3 | 513 + static/openbsd/man3/sigpause.3 | 77 + static/openbsd/man3/sigsetmask.3 | 141 + static/openbsd/man3/sigvec.3 | 331 + static/openbsd/man3/sigwait.3 | 76 + static/openbsd/man3/sin.3 | 90 + static/openbsd/man3/sincos.3 | 79 + static/openbsd/man3/sinh.3 | 93 + static/openbsd/man3/sio_open.3 | 872 ++ static/openbsd/man3/sioctl_open.3 | 324 + static/openbsd/man3/skey.3 | 387 + static/openbsd/man3/sleep.3 | 103 + static/openbsd/man3/sockatmark.3 | 122 + static/openbsd/man3/sqrt.3 | 105 + static/openbsd/man3/ssl.3 | 353 + static/openbsd/man3/statvfs.3 | 148 + static/openbsd/man3/stdio.3 | 308 + static/openbsd/man3/stpcpy.3 | 184 + static/openbsd/man3/strcasecmp.3 | 128 + static/openbsd/man3/strcat.3 | 76 + static/openbsd/man3/strchr.3 | 116 + static/openbsd/man3/strcmp.3 | 95 + static/openbsd/man3/strcoll.3 | 103 + static/openbsd/man3/strcpy.3 | 82 + static/openbsd/man3/strcspn.3 | 108 + static/openbsd/man3/strdup.3 | 119 + static/openbsd/man3/strerror.3 | 154 + static/openbsd/man3/strftime.3 | 329 + static/openbsd/man3/strlcpy.3 | 195 + static/openbsd/man3/strlen.3 | 103 + static/openbsd/man3/strmode.3 | 153 + static/openbsd/man3/strncat.3 | 132 + static/openbsd/man3/strncpy.3 | 138 + static/openbsd/man3/strpbrk.3 | 80 + static/openbsd/man3/strptime.3 | 333 + static/openbsd/man3/strrchr.3 | 118 + static/openbsd/man3/strsep.3 | 110 + static/openbsd/man3/strsignal.3 | 78 + static/openbsd/man3/strspn.3 | 92 + static/openbsd/man3/strstr.3 | 101 + static/openbsd/man3/strtod.3 | 176 + static/openbsd/man3/strtofflags.3 | 98 + static/openbsd/man3/strtok.3 | 169 + static/openbsd/man3/strtol.3 | 273 + static/openbsd/man3/strtonum.3 | 152 + static/openbsd/man3/strtoul.3 | 260 + static/openbsd/man3/strxfrm.3 | 105 + static/openbsd/man3/swab.3 | 79 + static/openbsd/man3/sysconf.3 | 222 + static/openbsd/man3/syslog.3 | 423 + static/openbsd/man3/system.3 | 116 + static/openbsd/man3/tan.3 | 85 + static/openbsd/man3/tanh.3 | 87 + static/openbsd/man3/tcgetpgrp.3 | 74 + static/openbsd/man3/tcgetsid.3 | 77 + static/openbsd/man3/tcsendbreak.3 | 153 + static/openbsd/man3/tcsetattr.3 | 361 + static/openbsd/man3/tcsetpgrp.3 | 109 + static/openbsd/man3/term_variables.3 | 193 + static/openbsd/man3/termcap.3 | 389 + static/openbsd/man3/terminfo.3 | 784 ++ static/openbsd/man3/time.3 | 84 + static/openbsd/man3/time2posix.3 | 142 + static/openbsd/man3/times.3 | 144 + static/openbsd/man3/timespec_get.3 | 85 + static/openbsd/man3/timingsafe_bcmp.3 | 87 + static/openbsd/man3/tls_accept_socket.3 | 108 + static/openbsd/man3/tls_client.3 | 111 + .../man3/tls_config_ocsp_require_stapling.3 | 41 + static/openbsd/man3/tls_config_set_protocols.3 | 231 + static/openbsd/man3/tls_config_set_session_id.3 | 106 + static/openbsd/man3/tls_config_verify.3 | 80 + static/openbsd/man3/tls_conn_version.3 | 226 + static/openbsd/man3/tls_connect.3 | 145 + static/openbsd/man3/tls_init.3 | 181 + static/openbsd/man3/tls_load_file.3 | 370 + static/openbsd/man3/tls_ocsp_process_response.3 | 168 + static/openbsd/man3/tls_read.3 | 241 + static/openbsd/man3/tmpnam.3 | 228 + static/openbsd/man3/toascii.3 | 69 + static/openbsd/man3/tolower.3 | 143 + static/openbsd/man3/toupper.3 | 141 + static/openbsd/man3/towctrans.3 | 97 + static/openbsd/man3/towlower.3 | 121 + static/openbsd/man3/trunc.3 | 75 + static/openbsd/man3/tsearch.3 | 126 + static/openbsd/man3/ttyname.3 | 176 + static/openbsd/man3/tzset.3 | 377 + static/openbsd/man3/ualarm.3 | 108 + static/openbsd/man3/uname.3 | 99 + static/openbsd/man3/ungetc.3 | 96 + static/openbsd/man3/ungetwc.3 | 96 + static/openbsd/man3/unvis.3 | 195 + static/openbsd/man3/usbhid.3 | 231 + static/openbsd/man3/uselocale.3 | 101 + static/openbsd/man3/user_from_uid.3 | 138 + static/openbsd/man3/usleep.3 | 99 + static/openbsd/man3/utime.3 | 145 + static/openbsd/man3/uu_lock.3 | 179 + static/openbsd/man3/uuid_compare.3 | 210 + static/openbsd/man3/v2i_ASN1_BIT_STRING.3 | 126 + static/openbsd/man3/va.3 | 13 + static/openbsd/man3/valloc.3 | 79 + static/openbsd/man3/vis.3 | 394 + static/openbsd/man3/wcrtomb.3 | 186 + static/openbsd/man3/wcscasecmp.3 | 134 + static/openbsd/man3/wcscat.3 | 115 + static/openbsd/man3/wcschr.3 | 85 + static/openbsd/man3/wcscmp.3 | 92 + static/openbsd/man3/wcscoll.3 | 102 + static/openbsd/man3/wcscpy.3 | 129 + static/openbsd/man3/wcscspn.3 | 83 + static/openbsd/man3/wcsdup.3 | 97 + static/openbsd/man3/wcsftime.3 | 32 + static/openbsd/man3/wcslcpy.3 | 160 + static/openbsd/man3/wcslen.3 | 102 + static/openbsd/man3/wcspbrk.3 | 81 + static/openbsd/man3/wcsrchr.3 | 85 + static/openbsd/man3/wcsrtombs.3 | 195 + static/openbsd/man3/wcsspn.3 | 79 + static/openbsd/man3/wcsstr.3 | 88 + static/openbsd/man3/wcstod.3 | 83 + static/openbsd/man3/wcstok.3 | 151 + static/openbsd/man3/wcstol.3 | 88 + static/openbsd/man3/wcstombs.3 | 130 + static/openbsd/man3/wcswidth.3 | 69 + static/openbsd/man3/wcsxfrm.3 | 104 + static/openbsd/man3/wctob.3 | 85 + static/openbsd/man3/wctomb.3 | 131 + static/openbsd/man3/wctrans.3 | 96 + static/openbsd/man3/wctype.3 | 96 + static/openbsd/man3/wcwidth.3 | 59 + static/openbsd/man3/wmemchr.3 | 81 + static/openbsd/man3/wmemcmp.3 | 78 + static/openbsd/man3/wmemcpy.3 | 79 + static/openbsd/man3/wmemmove.3 | 78 + static/openbsd/man3/wmemset.3 | 73 + static/openbsd/man3/wprintf.3 | 629 + static/openbsd/man3/wresize.3 | 67 + static/openbsd/man3/wscanf.3 | 448 + static/openbsd/man3/x509_verify.3 | 221 + static/openbsd/man3/xdr.3 | 567 + static/openbsd/man3/yp_bind.3 | 355 + static/openbsd/man4/abtn.4 | 55 + static/openbsd/man4/adb.4 | 112 + static/openbsd/man4/agintc.4 | 36 + static/openbsd/man4/agten.4 | 57 + static/openbsd/man4/agtimer.4 | 33 + static/openbsd/man4/amdcf.4 | 55 + static/openbsd/man4/amdisplay.4 | 76 + static/openbsd/man4/amdmsr.4 | 59 + static/openbsd/man4/amdpcib.4 | 33 + static/openbsd/man4/ampchwm.4 | 48 + static/openbsd/man4/ampintc.4 | 36 + static/openbsd/man4/amptimer.4 | 30 + static/openbsd/man4/aoa.4 | 78 + static/openbsd/man4/apecs.4 | 49 + static/openbsd/man4/apio.4 | 63 + static/openbsd/man4/aplaudio.4 | 48 + static/openbsd/man4/aplcpu.4 | 50 + static/openbsd/man4/apldart.4 | 42 + static/openbsd/man4/apldcp.4 | 51 + static/openbsd/man4/apldma.4 | 47 + static/openbsd/man4/apldog.4 | 42 + static/openbsd/man4/apldrm.4 | 52 + static/openbsd/man4/aplefuse.4 | 42 + static/openbsd/man4/aplhidev.4 | 50 + static/openbsd/man4/apliic.4 | 42 + static/openbsd/man4/aplintc.4 | 42 + static/openbsd/man4/aplmbox.4 | 42 + static/openbsd/man4/aplmca.4 | 47 + static/openbsd/man4/aplnco.4 | 43 + static/openbsd/man4/aplns.4 | 38 + static/openbsd/man4/aplpcie.4 | 44 + static/openbsd/man4/aplpinctrl.4 | 42 + static/openbsd/man4/aplpmgr.4 | 42 + static/openbsd/man4/aplpmu.4 | 43 + static/openbsd/man4/aplpwm.4 | 42 + static/openbsd/man4/aplsart.4 | 42 + static/openbsd/man4/aplsmc.4 | 50 + static/openbsd/man4/aplspi.4 | 42 + static/openbsd/man4/aplspmi.4 | 44 + static/openbsd/man4/apm.4 | 221 + static/openbsd/man4/armliicc.4 | 34 + static/openbsd/man4/arp.4 | 151 + static/openbsd/man4/asc.4 | 29 + static/openbsd/man4/asio.4 | 63 + static/openbsd/man4/asms.4 | 68 + static/openbsd/man4/asp.4 | 97 + static/openbsd/man4/astfb.4 | 55 + static/openbsd/man4/astro.4 | 43 + static/openbsd/man4/audioce.4 | 125 + static/openbsd/man4/audiocs.4 | 60 + static/openbsd/man4/autoconf.4 | 52 + static/openbsd/man4/auxio.4 | 53 + static/openbsd/man4/awacs.4 | 82 + static/openbsd/man4/bba.4 | 53 + static/openbsd/man4/bbc.4 | 49 + static/openbsd/man4/be.4 | 72 + static/openbsd/man4/beeper.4 | 56 + static/openbsd/man4/bios.4 | 95 + static/openbsd/man4/bm.4 | 64 + static/openbsd/man4/bonito.4 | 48 + static/openbsd/man4/bpp.4 | 47 + static/openbsd/man4/bwtwo.4 | 54 + static/openbsd/man4/cbus.4 | 60 + static/openbsd/man4/central.4 | 55 + static/openbsd/man4/cgsix.4 | 154 + static/openbsd/man4/cgthree.4 | 100 + static/openbsd/man4/cgtwelve.4 | 62 + static/openbsd/man4/cia.4 | 49 + static/openbsd/man4/clkbrd.4 | 57 + static/openbsd/man4/clock.4 | 75 + static/openbsd/man4/cmp.4 | 46 + static/openbsd/man4/cnmac.4 | 86 + static/openbsd/man4/comkbd.4 | 58 + static/openbsd/man4/comms.4 | 36 + static/openbsd/man4/core.4 | 45 + static/openbsd/man4/cortex.4 | 28 + static/openbsd/man4/cpsw.4 | 49 + static/openbsd/man4/cpu.4 | 243 + static/openbsd/man4/creator.4 | 69 + static/openbsd/man4/csh.4 | 177 + static/openbsd/man4/daca.4 | 74 + static/openbsd/man4/dfs.4 | 53 + static/openbsd/man4/dino.4 | 74 + static/openbsd/man4/dmtimer.4 | 38 + static/openbsd/man4/ebus.4 | 103 + static/openbsd/man4/ecadc.4 | 57 + static/openbsd/man4/edma.4 | 38 + static/openbsd/man4/efifb.4 | 47 + static/openbsd/man4/elroy.4 | 39 + static/openbsd/man4/environ.4 | 47 + static/openbsd/man4/esm.4 | 89 + static/openbsd/man4/esp.4 | 54 + static/openbsd/man4/fcu.4 | 45 + static/openbsd/man4/fhc.4 | 77 + static/openbsd/man4/gdiumiic.4 | 52 + static/openbsd/man4/gecko.4 | 38 + static/openbsd/man4/geodesc.4 | 49 + static/openbsd/man4/gfxp.4 | 46 + static/openbsd/man4/glxclk.4 | 43 + static/openbsd/man4/glxpcib.4 | 46 + static/openbsd/man4/glxsb.4 | 57 + static/openbsd/man4/gptimer.4 | 38 + static/openbsd/man4/gsc.4 | 113 + static/openbsd/man4/gsckbc.4 | 52 + static/openbsd/man4/gscpcib.4 | 65 + static/openbsd/man4/gscpm.4 | 43 + static/openbsd/man4/gus.4 | 100 + static/openbsd/man4/harmony.4 | 89 + static/openbsd/man4/hpb.4 | 40 + static/openbsd/man4/ht.4 | 48 + static/openbsd/man4/htb.4 | 42 + static/openbsd/man4/ichpcib.4 | 89 + static/openbsd/man4/ie.4 | 90 + static/openbsd/man4/ifb.4 | 102 + static/openbsd/man4/imxtemp.4 | 50 + static/openbsd/man4/intc.4 | 38 + static/openbsd/man4/intro.4 | 121 + static/openbsd/man4/io.4 | 166 + static/openbsd/man4/ioapic.4 | 46 + static/openbsd/man4/ioasic.4 | 87 + static/openbsd/man4/irongate.4 | 48 + static/openbsd/man4/joy.4 | 152 + static/openbsd/man4/kauaiata.4 | 51 + static/openbsd/man4/keynote.4 | 896 ++ static/openbsd/man4/kiic.4 | 51 + static/openbsd/man4/lasi.4 | 134 + static/openbsd/man4/lca.4 | 47 + static/openbsd/man4/lcd.4 | 44 + static/openbsd/man4/le.4 | 101 + static/openbsd/man4/led.4 | 50 + static/openbsd/man4/leioc.4 | 68 + static/openbsd/man4/lms.4 | 57 + static/openbsd/man4/lom.4 | 64 + static/openbsd/man4/macgpio.4 | 45 + static/openbsd/man4/machfb.4 | 47 + static/openbsd/man4/macobio.4 | 86 + static/openbsd/man4/magma.4 | 114 + static/openbsd/man4/mc.4 | 71 + static/openbsd/man4/mcbus.4 | 62 + static/openbsd/man4/mcpcia.4 | 48 + static/openbsd/man4/mediabay.4 | 51 + static/openbsd/man4/mem.4 | 87 + static/openbsd/man4/memc.4 | 42 + static/openbsd/man4/mgx.4 | 93 + static/openbsd/man4/mms.4 | 57 + static/openbsd/man4/mongoose.4 | 56 + static/openbsd/man4/mpbios.4 | 59 + static/openbsd/man4/mpcpcibr.4 | 42 + static/openbsd/man4/mpfclock.4 | 37 + static/openbsd/man4/mpfgpio.4 | 55 + static/openbsd/man4/mpfiic.4 | 40 + static/openbsd/man4/mtrr.4 | 147 + static/openbsd/man4/mvodog.4 | 44 + static/openbsd/man4/mvortc.4 | 41 + static/openbsd/man4/necsb.4 | 41 + static/openbsd/man4/npx.4 | 63 + static/openbsd/man4/nvram.4 | 52 + static/openbsd/man4/obio.4 | 68 + static/openbsd/man4/octboot.4 | 62 + static/openbsd/man4/octcf.4 | 39 + static/openbsd/man4/octcib.4 | 38 + static/openbsd/man4/octcit.4 | 48 + static/openbsd/man4/octciu.4 | 50 + static/openbsd/man4/octcrypto.4 | 61 + static/openbsd/man4/octgmx.4 | 38 + static/openbsd/man4/octgpio.4 | 37 + static/openbsd/man4/octiic.4 | 40 + static/openbsd/man4/octmmc.4 | 41 + static/openbsd/man4/octpcie.4 | 50 + static/openbsd/man4/octpip.4 | 37 + static/openbsd/man4/octrng.4 | 50 + static/openbsd/man4/octrtc.4 | 62 + static/openbsd/man4/octsctl.4 | 37 + static/openbsd/man4/octsmi.4 | 38 + static/openbsd/man4/octuctl.4 | 48 + static/openbsd/man4/octxctl.4 | 37 + static/openbsd/man4/ogx.4 | 46 + static/openbsd/man4/ogxnexus.4 | 45 + static/openbsd/man4/omap.4 | 49 + static/openbsd/man4/omclock.4 | 43 + static/openbsd/man4/omcm.4 | 43 + static/openbsd/man4/omdog.4 | 38 + static/openbsd/man4/omgpio.4 | 50 + static/openbsd/man4/ommmc.4 | 51 + static/openbsd/man4/omrng.4 | 47 + static/openbsd/man4/omsysc.4 | 42 + static/openbsd/man4/omwugen.4 | 30 + static/openbsd/man4/onyx.4 | 64 + static/openbsd/man4/opal.4 | 43 + static/openbsd/man4/opalcons.4 | 47 + static/openbsd/man4/opalsens.4 | 43 + static/openbsd/man4/openpic.4 | 39 + static/openbsd/man4/pas.4 | 45 + static/openbsd/man4/pcexmem.4 | 76 + static/openbsd/man4/pcibios.4 | 180 + static/openbsd/man4/pcons.4 | 70 + static/openbsd/man4/pctr.4 | 281 + static/openbsd/man4/pdc.4 | 732 ++ static/openbsd/man4/pgs.4 | 49 + static/openbsd/man4/phantomas.4 | 69 + static/openbsd/man4/phb.4 | 44 + static/openbsd/man4/piic.4 | 47 + static/openbsd/man4/plic.4 | 28 + static/openbsd/man4/pmc.4 | 47 + static/openbsd/man4/power.4 | 62 + static/openbsd/man4/ppm.4 | 51 + static/openbsd/man4/prcm.4 | 38 + static/openbsd/man4/prtc.4 | 42 + static/openbsd/man4/psycho.4 | 55 + static/openbsd/man4/pyro.4 | 59 + static/openbsd/man4/qe.4 | 60 + static/openbsd/man4/qec.4 | 58 + static/openbsd/man4/radeonfb.4 | 46 + static/openbsd/man4/raptor.4 | 47 + static/openbsd/man4/rfx.4 | 106 + static/openbsd/man4/rpiclock.4 | 44 + static/openbsd/man4/rpipwm.4 | 44 + static/openbsd/man4/rpirtc.4 | 42 + static/openbsd/man4/rpone.4 | 49 + static/openbsd/man4/runway.4 | 65 + static/openbsd/man4/sab.4 | 80 + static/openbsd/man4/sb.4 | 96 + static/openbsd/man4/sbbc.4 | 43 + static/openbsd/man4/schizo.4 | 54 + static/openbsd/man4/sfcc.4 | 28 + static/openbsd/man4/sfclock.4 | 28 + static/openbsd/man4/sfgpio.4 | 43 + static/openbsd/man4/sfuart.4 | 30 + static/openbsd/man4/sgmsi.4 | 42 + static/openbsd/man4/shpcic.4 | 38 + static/openbsd/man4/sisfb.4 | 47 + static/openbsd/man4/skgpio.4 | 57 + static/openbsd/man4/smbios.4 | 36 + static/openbsd/man4/smfb.4 | 47 + static/openbsd/man4/smtclock.4 | 42 + static/openbsd/man4/smtcomphy.4 | 43 + static/openbsd/man4/smte.4 | 76 + static/openbsd/man4/smtgpio.4 | 43 + static/openbsd/man4/smtiic.4 | 47 + static/openbsd/man4/smtpinctrl.4 | 42 + static/openbsd/man4/smtpmic.4 | 45 + static/openbsd/man4/smu.4 | 50 + static/openbsd/man4/snapper.4 | 105 + static/openbsd/man4/spc.4 | 54 + static/openbsd/man4/spif.4 | 103 + static/openbsd/man4/ssio.4 | 51 + static/openbsd/man4/ssm.4 | 43 + static/openbsd/man4/stfclock.4 | 42 + static/openbsd/man4/stfpcie.4 | 45 + static/openbsd/man4/stfpciephy.4 | 43 + static/openbsd/man4/stfpinctrl.4 | 42 + static/openbsd/man4/stfrng.4 | 47 + static/openbsd/man4/stsec.4 | 42 + static/openbsd/man4/sxie.4 | 41 + static/openbsd/man4/sxiintc.4 | 34 + static/openbsd/man4/sxitimer.4 | 34 + static/openbsd/man4/sxits.4 | 48 + static/openbsd/man4/sysbutton.4 | 41 + static/openbsd/man4/sysreg.4 | 36 + static/openbsd/man4/tcasic.4 | 48 + static/openbsd/man4/tcpcib.4 | 71 + static/openbsd/man4/tda.4 | 47 + static/openbsd/man4/tga.4 | 74 + static/openbsd/man4/tsc.4 | 63 + static/openbsd/man4/tsciic.4 | 48 + static/openbsd/man4/tumbler.4 | 82 + static/openbsd/man4/tvtwo.4 | 82 + static/openbsd/man4/uha.4 | 55 + static/openbsd/man4/upa.4 | 51 + static/openbsd/man4/uperf.4 | 242 + static/openbsd/man4/uturn.4 | 65 + static/openbsd/man4/vbus.4 | 55 + static/openbsd/man4/vcc.4 | 53 + static/openbsd/man4/vcons.4 | 47 + static/openbsd/man4/vds.4 | 57 + static/openbsd/man4/vdsk.4 | 49 + static/openbsd/man4/vigra.4 | 108 + static/openbsd/man4/vldc.4 | 46 + static/openbsd/man4/vmm.4 | 122 + static/openbsd/man4/vnet.4 | 69 + static/openbsd/man4/voyager.4 | 81 + static/openbsd/man4/vpci.4 | 43 + static/openbsd/man4/vrng.4 | 55 + static/openbsd/man4/vrtc.4 | 42 + static/openbsd/man4/vsw.4 | 58 + static/openbsd/man4/wax.4 | 105 + static/openbsd/man4/wds.4 | 61 + static/openbsd/man4/wdt.4 | 68 + static/openbsd/man4/xbox.4 | 50 + static/openbsd/man4/xicp.4 | 44 + static/openbsd/man4/xics.4 | 44 + static/openbsd/man4/xive.4 | 44 + static/openbsd/man4/xlights.4 | 41 + static/openbsd/man4/xp.4 | 73 + static/openbsd/man4/ykbec.4 | 54 + static/openbsd/man4/zqclock.4 | 37 + static/openbsd/man4/zqreset.4 | 37 + static/openbsd/man4/zs.4 | 183 + static/openbsd/man4/zx.4 | 95 + static/openbsd/man5/acme-client.conf.5 | 230 + static/openbsd/man5/aliases.5 | 102 + static/openbsd/man5/bgpd.conf.5 | 2409 ++++ static/openbsd/man5/bootparams.5 | 78 + static/openbsd/man5/bsd.re-config.5 | 45 + static/openbsd/man5/bt.5 | 210 + static/openbsd/man5/chio.conf.5 | 71 + static/openbsd/man5/crontab.5 | 411 + static/openbsd/man5/cvs.5 | 325 + static/openbsd/man5/dhcp-options.5 | 698 + static/openbsd/man5/dhcp6leased.conf.5 | 136 + static/openbsd/man5/dhcpd.conf.5 | 937 ++ static/openbsd/man5/dhcpd.leases.5 | 190 + static/openbsd/man5/dhcpleased.conf.5 | 129 + static/openbsd/man5/disklabel.5 | 158 + static/openbsd/man5/doas.conf.5 | 153 + static/openbsd/man5/dvmrpd.conf.5 | 173 + static/openbsd/man5/editrc.5 | 318 + static/openbsd/man5/eigrpd.conf.5 | 295 + static/openbsd/man5/exports.5 | 291 + static/openbsd/man5/forward.5 | 82 + static/openbsd/man5/gettytab.5 | 346 + static/openbsd/man5/hostapd.conf.5 | 836 ++ static/openbsd/man5/httpd.conf.5 | 910 ++ static/openbsd/man5/ifstated.conf.5 | 203 + static/openbsd/man5/iked.conf.5 | 1266 ++ static/openbsd/man5/info.5 | 62 + static/openbsd/man5/ipsec.conf.5 | 1019 ++ static/openbsd/man5/isakmpd.conf.5 | 1393 ++ static/openbsd/man5/isakmpd.policy.5 | 636 + static/openbsd/man5/iscsi.conf.5 | 214 + static/openbsd/man5/keynote.5 | 697 + static/openbsd/man5/ldapd.conf.5 | 372 + static/openbsd/man5/ldom.conf.5 | 167 + static/openbsd/man5/ldpd.conf.5 | 407 + static/openbsd/man5/magic.5 | 206 + static/openbsd/man5/mailer.conf.5 | 104 + static/openbsd/man5/man.conf.5 | 133 + static/openbsd/man5/netid.5 | 120 + static/openbsd/man5/npppd-users.5 | 74 + static/openbsd/man5/npppd.conf.5 | 749 ++ static/openbsd/man5/ntpd.conf.5 | 265 + static/openbsd/man5/openssl.cnf.5 | 361 + static/openbsd/man5/ospf6d.conf.5 | 358 + static/openbsd/man5/ospfd.conf.5 | 449 + static/openbsd/man5/package.5 | 303 + static/openbsd/man5/pcap-filter.5 | 1053 ++ static/openbsd/man5/rad.conf.5 | 242 + static/openbsd/man5/radiusd.conf.5 | 248 + static/openbsd/man5/rcsfile.5 | 154 + static/openbsd/man5/relayd.conf.5 | 1709 +++ static/openbsd/man5/ripd.conf.5 | 242 + static/openbsd/man5/rsync.5 | 525 + static/openbsd/man5/rsyncd.5 | 135 + static/openbsd/man5/sasyncd.conf.5 | 194 + static/openbsd/man5/scr_dump.5 | 417 + static/openbsd/man5/securenet.5 | 68 + static/openbsd/man5/sensorsd.conf.5 | 204 + static/openbsd/man5/skey.5 | 88 + static/openbsd/man5/smtpd.conf.5 | 1387 ++ static/openbsd/man5/snmpd.conf.5 | 495 + static/openbsd/man5/ssh_config.5 | 2475 ++++ static/openbsd/man5/sshd_config.5 | 2256 ++++ static/openbsd/man5/syslog.conf.5 | 367 + static/openbsd/man5/table.5 | 267 + static/openbsd/man5/term.5 | 411 + static/openbsd/man5/termcap.5 | 1835 +++ static/openbsd/man5/terminfo.5 | 3842 ++++++ static/openbsd/man5/texinfo.5 | 51 + static/openbsd/man5/ttys.5 | 188 + static/openbsd/man5/tzfile.5 | 163 + static/openbsd/man5/unwind.conf.5 | 186 + static/openbsd/man5/user_caps.5 | 441 + static/openbsd/man5/usermgmt.conf.5 | 147 + static/openbsd/man5/uuencode.5 | 99 + static/openbsd/man5/vm.conf.5 | 554 + static/openbsd/man5/x509v3.cnf.5 | 738 ++ static/openbsd/man5/ypldap.conf.5 | 224 + static/openbsd/man5/ypserv.acl.5 | 163 + static/openbsd/man6/adventure.6 | 65 + static/openbsd/man6/arithmetic.6 | 106 + static/openbsd/man6/atc.6 | 609 + static/openbsd/man6/backgammon.6 | 164 + static/openbsd/man6/banner.6 | 70 + static/openbsd/man6/battlestar.6 | 187 + static/openbsd/man6/bcd.6 | 77 + static/openbsd/man6/boggle.6 | 162 + static/openbsd/man6/bs.6 | 97 + static/openbsd/man6/caesar.6 | 74 + static/openbsd/man6/canfield.6 | 124 + static/openbsd/man6/cribbage.6 | 206 + static/openbsd/man6/factor.6 | 110 + static/openbsd/man6/fish.6 | 85 + static/openbsd/man6/fortune.6 | 212 + static/openbsd/man6/gomoku.6 | 113 + static/openbsd/man6/grdc.6 | 49 + static/openbsd/man6/hack.6 | 210 + static/openbsd/man6/hangman.6 | 78 + static/openbsd/man6/hunt.6 | 505 + static/openbsd/man6/huntd.6 | 282 + static/openbsd/man6/mille.6 | 386 + static/openbsd/man6/monop.6 | 185 + static/openbsd/man6/morse.6 | 80 + static/openbsd/man6/number.6 | 62 + static/openbsd/man6/phantasia.6 | 1223 ++ static/openbsd/man6/pig.6 | 50 + static/openbsd/man6/pom.6 | 80 + static/openbsd/man6/ppt.6 | 84 + static/openbsd/man6/quiz.6 | 122 + static/openbsd/man6/rain.6 | 60 + static/openbsd/man6/random.6 | 68 + static/openbsd/man6/robots.6 | 150 + static/openbsd/man6/sail.6 | 1083 ++ static/openbsd/man6/snake.6 | 134 + static/openbsd/man6/tetris.6 | 172 + static/openbsd/man6/trek.6 | 146 + static/openbsd/man6/worm.6 | 69 + static/openbsd/man6/worms.6 | 74 + static/openbsd/man6/wump.6 | 114 + static/openbsd/man7/cvsintro.7 | 239 + static/openbsd/man7/editline.7 | 929 ++ static/openbsd/man7/fsf-funding.7 | 185 + static/openbsd/man7/gfdl.7 | 561 + static/openbsd/man7/gpl.7 | 535 + static/openbsd/man7/patterns.7 | 309 + static/openbsd/man7/re_format.7 | 769 ++ static/openbsd/man7/smtpd-filters.7 | 663 + static/openbsd/man7/smtpd-tables.7 | 276 + static/openbsd/man7/sndio.7 | 248 + static/openbsd/man7/symlink.7 | 463 + static/openbsd/man7/term.7 | 225 + static/openbsd/man8/MAKEDEV.8 | 263 + static/openbsd/man8/Makefile.yp.8 | 291 + static/openbsd/man8/ac.8 | 152 + static/openbsd/man8/accton.8 | 79 + static/openbsd/man8/acpidump.8 | 92 + static/openbsd/man8/adduser.8 | 424 + static/openbsd/man8/amd.8 | 225 + static/openbsd/man8/amq.8 | 116 + static/openbsd/man8/apm.8 | 168 + static/openbsd/man8/apmd.8 | 273 + static/openbsd/man8/apple_driver.8 | 50 + static/openbsd/man8/arp.8 | 220 + static/openbsd/man8/atactl.8 | 520 + static/openbsd/man8/audioctl.8 | 162 + static/openbsd/man8/authpf.8 | 579 + static/openbsd/man8/badsect.8 | 131 + static/openbsd/man8/bgpctl.8 | 512 + static/openbsd/man8/bgpd.8 | 485 + static/openbsd/man8/bgplg.8 | 219 + static/openbsd/man8/bgplgd.8 | 215 + static/openbsd/man8/bgplgsh.8 | 104 + static/openbsd/man8/bioctl.8 | 376 + static/openbsd/man8/biosboot.8 | 256 + static/openbsd/man8/boot.8 | 241 + static/openbsd/man8/boot_alpha.8 | 115 + static/openbsd/man8/boot_amd64.8 | 191 + static/openbsd/man8/boot_hppa.8 | 347 + static/openbsd/man8/boot_i386.8 | 193 + static/openbsd/man8/boot_luna88k.8 | 107 + static/openbsd/man8/boot_macppc.8 | 177 + static/openbsd/man8/boot_sparc64.8 | 169 + static/openbsd/man8/bpflogd.8 | 138 + static/openbsd/man8/btrace.8 | 86 + static/openbsd/man8/cdboot.8 | 124 + static/openbsd/man8/chat.8 | 634 + static/openbsd/man8/chown.8 | 175 + static/openbsd/man8/chroot.8 | 114 + static/openbsd/man8/clri.8 | 78 + static/openbsd/man8/comsat.8 | 93 + static/openbsd/man8/config.8 | 475 + static/openbsd/man8/cron.8 | 166 + static/openbsd/man8/crunchgen.8 | 327 + static/openbsd/man8/cvsbug.8 | 243 + static/openbsd/man8/dev_mkdb.8 | 83 + static/openbsd/man8/dhcp6leasectl.8 | 71 + static/openbsd/man8/dhcp6leased.8 | 113 + static/openbsd/man8/dhcpd.8 | 524 + static/openbsd/man8/dhcpleasectl.8 | 71 + static/openbsd/man8/dhcpleased.8 | 122 + static/openbsd/man8/dhcrelay.8 | 173 + static/openbsd/man8/dhcrelay6.8 | 200 + static/openbsd/man8/disklabel.8 | 611 + static/openbsd/man8/dmesg.8 | 85 + static/openbsd/man8/dump.8 | 492 + static/openbsd/man8/dumpfs.8 | 80 + static/openbsd/man8/dvmrpctl.8 | 78 + static/openbsd/man8/dvmrpd.8 | 118 + static/openbsd/man8/edquota.8 | 168 + static/openbsd/man8/eeprom.8 | 236 + static/openbsd/man8/eigrpctl.8 | 183 + static/openbsd/man8/eigrpd.8 | 111 + static/openbsd/man8/fdisk.8 | 438 + static/openbsd/man8/fingerd.8 | 166 + static/openbsd/man8/fsck.8 | 182 + static/openbsd/man8/fsck_ext2fs.8 | 249 + static/openbsd/man8/fsck_ffs.8 | 329 + static/openbsd/man8/fsck_msdos.8 | 117 + static/openbsd/man8/fsdb.8 | 242 + static/openbsd/man8/fsirand.8 | 94 + static/openbsd/man8/ftp-proxy.8 | 202 + static/openbsd/man8/ftpd.8 | 568 + static/openbsd/man8/fw_update.8 | 121 + static/openbsd/man8/getty.8 | 134 + static/openbsd/man8/gpioctl.8 | 215 + static/openbsd/man8/group.8 | 87 + static/openbsd/man8/groupadd.8 | 72 + static/openbsd/man8/groupdel.8 | 67 + static/openbsd/man8/groupinfo.8 | 92 + static/openbsd/man8/groupmod.8 | 75 + static/openbsd/man8/growfs.8 | 147 + static/openbsd/man8/hostapd.8 | 142 + static/openbsd/man8/hostctl.8 | 155 + static/openbsd/man8/hotplugd.8 | 127 + static/openbsd/man8/httpd.8 | 100 + static/openbsd/man8/identd.8 | 104 + static/openbsd/man8/ifconfig.8 | 2663 ++++ static/openbsd/man8/ifstated.8 | 89 + static/openbsd/man8/ikectl.8 | 366 + static/openbsd/man8/iked.8 | 215 + static/openbsd/man8/inetd.8 | 392 + static/openbsd/man8/init.8 | 329 + static/openbsd/man8/installboot.8 | 134 + static/openbsd/man8/iostat.8 | 202 + static/openbsd/man8/ipsecctl.8 | 122 + static/openbsd/man8/isakmpd.8 | 827 ++ static/openbsd/man8/iscsictl.8 | 79 + static/openbsd/man8/iscsid.8 | 93 + static/openbsd/man8/isoinfo.8 | 124 + static/openbsd/man8/kbd.8 | 81 + static/openbsd/man8/kgmon.8 | 136 + static/openbsd/man8/kvm_mkdb.8 | 85 + static/openbsd/man8/ldapctl.8 | 103 + static/openbsd/man8/ldapd.8 | 169 + static/openbsd/man8/ldattach.8 | 174 + static/openbsd/man8/ldconfig.8 | 170 + static/openbsd/man8/ldomctl.8 | 218 + static/openbsd/man8/ldomd.8 | 57 + static/openbsd/man8/ldpctl.8 | 133 + static/openbsd/man8/ldpd.8 | 195 + static/openbsd/man8/lldp.8 | 62 + static/openbsd/man8/lldpd.8 | 71 + static/openbsd/man8/locate.mklocatedb.8 | 45 + static/openbsd/man8/locate.updatedb.8 | 108 + static/openbsd/man8/login_chpass.8 | 69 + static/openbsd/man8/login_lchpass.8 | 65 + static/openbsd/man8/login_ldap.8 | 253 + static/openbsd/man8/login_passwd.8 | 88 + static/openbsd/man8/login_radius.8 | 170 + static/openbsd/man8/login_reject.8 | 74 + static/openbsd/man8/login_skey.8 | 107 + static/openbsd/man8/login_token.8 | 103 + static/openbsd/man8/login_yubikey.8 | 138 + static/openbsd/man8/lpc.8 | 188 + static/openbsd/man8/lpd.8 | 363 + static/openbsd/man8/mail.lmtp.8 | 55 + static/openbsd/man8/mail.local.8 | 182 + static/openbsd/man8/mail.maildir.8 | 46 + static/openbsd/man8/mail.mboxfile.8 | 34 + static/openbsd/man8/mail.mda.8 | 35 + static/openbsd/man8/mailwrapper.8 | 145 + static/openbsd/man8/makedbm.8 | 94 + static/openbsd/man8/makefs.8 | 332 + static/openbsd/man8/makemap.8 | 174 + static/openbsd/man8/makewhatis.8 | 226 + static/openbsd/man8/man.cgi.8 | 428 + static/openbsd/man8/map-mbone.8 | 130 + static/openbsd/man8/mbr.8 | 61 + static/openbsd/man8/memconfig.8 | 122 + static/openbsd/man8/mixerctl.8 | 209 + static/openbsd/man8/mkalias.8 | 91 + static/openbsd/man8/mkboot.8 | 55 + static/openbsd/man8/mkhybrid.8 | 1651 +++ static/openbsd/man8/mkisofs.8 | 689 + static/openbsd/man8/mknetid.8 | 125 + static/openbsd/man8/mknod.8 | 143 + static/openbsd/man8/mkuboot.8 | 96 + static/openbsd/man8/mopd.8 | 119 + static/openbsd/man8/mount.8 | 411 + static/openbsd/man8/mount_cd9660.8 | 117 + static/openbsd/man8/mount_ext2fs.8 | 88 + static/openbsd/man8/mount_ffs.8 | 108 + static/openbsd/man8/mount_msdos.8 | 184 + static/openbsd/man8/mount_nfs.8 | 268 + static/openbsd/man8/mount_ntfs.8 | 169 + static/openbsd/man8/mount_tmpfs.8 | 149 + static/openbsd/man8/mount_udf.8 | 59 + static/openbsd/man8/mount_vnd.8 | 186 + static/openbsd/man8/mountd.8 | 116 + static/openbsd/man8/mrinfo.8 | 148 + static/openbsd/man8/mrouted.8 | 476 + static/openbsd/man8/mtrace.8 | 528 + static/openbsd/man8/mtree.8 | 352 + static/openbsd/man8/ncheck_ffs.8 | 141 + static/openbsd/man8/ndp.8 | 165 + static/openbsd/man8/netgroup_mkdb.8 | 81 + static/openbsd/man8/newaliases.8 | 86 + static/openbsd/man8/newfs.8 | 345 + static/openbsd/man8/newfs_ext2fs.8 | 344 + static/openbsd/man8/newfs_msdos.8 | 194 + static/openbsd/man8/newsyslog.8 | 451 + static/openbsd/man8/nfsd.8 | 95 + static/openbsd/man8/nologin.8 | 59 + static/openbsd/man8/npppctl.8 | 126 + static/openbsd/man8/npppd.8 | 100 + static/openbsd/man8/ntpctl.8 | 79 + static/openbsd/man8/ntpd.8 | 159 + static/openbsd/man8/ocspcheck.8 | 111 + static/openbsd/man8/ospf6ctl.8 | 149 + static/openbsd/man8/ospf6d.8 | 209 + static/openbsd/man8/ospfctl.8 | 144 + static/openbsd/man8/ospfd.8 | 190 + static/openbsd/man8/pcidump.8 | 104 + static/openbsd/man8/pdisk.8 | 168 + static/openbsd/man8/pfctl.8 | 761 ++ static/openbsd/man8/pflogd.8 | 218 + static/openbsd/man8/ping.8 | 444 + static/openbsd/man8/pkg_check.8 | 127 + static/openbsd/man8/portmap.8 | 90 + static/openbsd/man8/pppd.8 | 1515 +++ static/openbsd/man8/pppstats.8 | 235 + static/openbsd/man8/pstat.8 | 388 + static/openbsd/man8/pwd_mkdb.8 | 164 + static/openbsd/man8/pxeboot.8 | 182 + static/openbsd/man8/quot.8 | 106 + static/openbsd/man8/quotacheck.8 | 158 + static/openbsd/man8/quotaon.8 | 126 + static/openbsd/man8/ractl.8 | 69 + static/openbsd/man8/rad.8 | 153 + static/openbsd/man8/radiusctl.8 | 138 + static/openbsd/man8/radiusd.8 | 78 + static/openbsd/man8/radiusd_bsdauth.8 | 61 + static/openbsd/man8/radiusd_eap2mschap.8 | 87 + static/openbsd/man8/radiusd_file.8 | 62 + static/openbsd/man8/radiusd_ipcp.8 | 199 + static/openbsd/man8/radiusd_radius.8 | 84 + static/openbsd/man8/radiusd_standard.8 | 77 + static/openbsd/man8/rarpd.8 | 110 + static/openbsd/man8/rbootd.8 | 156 + static/openbsd/man8/rcctl.8 | 238 + static/openbsd/man8/rdate.8 | 84 + static/openbsd/man8/rdsetroot.8 | 66 + static/openbsd/man8/reboot.8 | 110 + static/openbsd/man8/relayctl.8 | 228 + static/openbsd/man8/relayd.8 | 154 + static/openbsd/man8/renice.8 | 144 + static/openbsd/man8/repquota.8 | 96 + static/openbsd/man8/resolvd.8 | 96 + static/openbsd/man8/restore.8 | 455 + static/openbsd/man8/revnetgroup.8 | 139 + static/openbsd/man8/ripctl.8 | 109 + static/openbsd/man8/ripd.8 | 103 + static/openbsd/man8/rmgroup.8 | 61 + static/openbsd/man8/rmt.8 | 219 + static/openbsd/man8/route.8 | 651 + static/openbsd/man8/route6d.8 | 245 + static/openbsd/man8/rpc.bootparamd.8 | 83 + static/openbsd/man8/rpc.lockd.8 | 108 + static/openbsd/man8/rpc.rquotad.8 | 58 + static/openbsd/man8/rpc.rstatd.8 | 70 + static/openbsd/man8/rpc.rusersd.8 | 60 + static/openbsd/man8/rpc.rwalld.8 | 63 + static/openbsd/man8/rpc.statd.8 | 123 + static/openbsd/man8/rpcinfo.8 | 197 + static/openbsd/man8/rpki-client.8 | 487 + static/openbsd/man8/sa.8 | 246 + static/openbsd/man8/sasyncd.8 | 156 + static/openbsd/man8/savecore.8 | 131 + static/openbsd/man8/scan_ffs.8 | 140 + static/openbsd/man8/scsi.8 | 346 + static/openbsd/man8/sendmail.8 | 86 + static/openbsd/man8/sensorsd.8 | 111 + static/openbsd/man8/setnetbootinfo.8 | 129 + static/openbsd/man8/sftp-server.8 | 170 + static/openbsd/man8/showmount.8 | 92 + static/openbsd/man8/shutdown.8 | 219 + static/openbsd/man8/skeyprune.8 | 72 + static/openbsd/man8/slaacctl.8 | 79 + static/openbsd/man8/slaacd.8 | 166 + static/openbsd/man8/slowcgi.8 | 129 + static/openbsd/man8/smtpctl.8 | 341 + static/openbsd/man8/smtpd.8 | 167 + static/openbsd/man8/sndiod.8 | 587 + static/openbsd/man8/snmpd.8 | 117 + static/openbsd/man8/snmpd_metrics.8 | 112 + static/openbsd/man8/spamd-setup.8 | 123 + static/openbsd/man8/spamd.8 | 609 + static/openbsd/man8/spamdb.8 | 190 + static/openbsd/man8/spamlogd.8 | 140 + static/openbsd/man8/ssh-keysign.8 | 91 + static/openbsd/man8/ssh-pkcs11-helper.8 | 71 + static/openbsd/man8/ssh-sk-helper.8 | 71 + static/openbsd/man8/sshd.8 | 1018 ++ static/openbsd/man8/strfile.8 | 149 + static/openbsd/man8/swapctl.8 | 230 + static/openbsd/man8/swapon.8 | 95 + static/openbsd/man8/sync.8 | 72 + static/openbsd/man8/sysctl.8 | 189 + static/openbsd/man8/syslogc.8 | 94 + static/openbsd/man8/syslogd.8 | 305 + static/openbsd/man8/sysmerge.8 | 174 + static/openbsd/man8/syspatch.8 | 85 + static/openbsd/man8/sysupgrade.8 | 136 + static/openbsd/man8/talkd.8 | 75 + static/openbsd/man8/tcpdrop.8 | 85 + static/openbsd/man8/tcpdump.8 | 2065 +++ static/openbsd/man8/tftp-proxy.8 | 143 + static/openbsd/man8/tftpd.8 | 236 + static/openbsd/man8/tokenadm.8 | 130 + static/openbsd/man8/tokeninit.8 | 171 + static/openbsd/man8/traceroute.8 | 424 + static/openbsd/man8/trpt.8 | 149 + static/openbsd/man8/ttyflags.8 | 86 + static/openbsd/man8/tunefs.8 | 164 + static/openbsd/man8/umount.8 | 114 + static/openbsd/man8/unwind.8 | 133 + static/openbsd/man8/unwindctl.8 | 80 + static/openbsd/man8/usbdevs.8 | 70 + static/openbsd/man8/user.8 | 148 + static/openbsd/man8/useradd.8 | 282 + static/openbsd/man8/userdel.8 | 142 + static/openbsd/man8/userinfo.8 | 83 + static/openbsd/man8/usermod.8 | 276 + static/openbsd/man8/vipw.8 | 113 + static/openbsd/man8/vmctl.8 | 440 + static/openbsd/man8/vmd.8 | 140 + static/openbsd/man8/vmstat.8 | 221 + static/openbsd/man8/vnconfig.8 | 176 + static/openbsd/man8/watchdogd.8 | 95 + static/openbsd/man8/wsconscfg.8 | 162 + static/openbsd/man8/wsconsctl.8 | 242 + static/openbsd/man8/wsfontload.8 | 146 + static/openbsd/man8/wsmoused.8 | 196 + static/openbsd/man8/xxboot.8 | 65 + static/openbsd/man8/ypbind.8 | 135 + static/openbsd/man8/ypinit.8 | 65 + static/openbsd/man8/ypldap.8 | 81 + static/openbsd/man8/yppoll.8 | 77 + static/openbsd/man8/yppush.8 | 76 + static/openbsd/man8/ypserv.8 | 141 + static/openbsd/man8/ypset.8 | 82 + static/openbsd/man8/ypxfr.8 | 86 + static/openbsd/man8/zdump.8 | 87 + static/openbsd/man8/zic.8 | 469 + 2582 files changed, 574050 insertions(+) create mode 100644 static/openbsd/man1/acme-client.1 create mode 100644 static/openbsd/man1/addr2line.1 create mode 100644 static/openbsd/man1/apply.1 create mode 100644 static/openbsd/man1/apropos.1 create mode 100644 static/openbsd/man1/ar.1 create mode 100644 static/openbsd/man1/arch.1 create mode 100644 static/openbsd/man1/at.1 create mode 100644 static/openbsd/man1/atq.1 create mode 100644 static/openbsd/man1/atrm.1 create mode 100644 static/openbsd/man1/aucat.1 create mode 100644 static/openbsd/man1/awk.1 create mode 100644 static/openbsd/man1/banner.1 create mode 100644 static/openbsd/man1/basename.1 create mode 100644 static/openbsd/man1/bc.1 create mode 100644 static/openbsd/man1/biff.1 create mode 100644 static/openbsd/man1/binedit.1 create mode 100644 static/openbsd/man1/cal.1 create mode 100644 static/openbsd/man1/calendar.1 create mode 100644 static/openbsd/man1/cap_mkdb.1 create mode 100644 static/openbsd/man1/captoinfo.1 create mode 100644 static/openbsd/man1/cat.1 create mode 100644 static/openbsd/man1/catme.1 create mode 100644 static/openbsd/man1/cdio.1 create mode 100644 static/openbsd/man1/chflags.1 create mode 100644 static/openbsd/man1/chgrp.1 create mode 100644 static/openbsd/man1/chio.1 create mode 100644 static/openbsd/man1/chmod.1 create mode 100644 static/openbsd/man1/chpass.1 create mode 100644 static/openbsd/man1/ci.1 create mode 100644 static/openbsd/man1/cksum.1 create mode 100644 static/openbsd/man1/clang.1 create mode 100644 static/openbsd/man1/clear.1 create mode 100644 static/openbsd/man1/cmp.1 create mode 100644 static/openbsd/man1/co.1 create mode 100644 static/openbsd/man1/col.1 create mode 100644 static/openbsd/man1/colrm.1 create mode 100644 static/openbsd/man1/column.1 create mode 100644 static/openbsd/man1/comm.1 create mode 100644 static/openbsd/man1/compress.1 create mode 100644 static/openbsd/man1/cp.1 create mode 100644 static/openbsd/man1/cpio.1 create mode 100644 static/openbsd/man1/cpp.1 create mode 100644 static/openbsd/man1/crontab.1 create mode 100644 static/openbsd/man1/csh.1 create mode 100644 static/openbsd/man1/csplit.1 create mode 100644 static/openbsd/man1/ctags.1 create mode 100644 static/openbsd/man1/ctfconv.1 create mode 100644 static/openbsd/man1/ctfdump.1 create mode 100644 static/openbsd/man1/ctfstrip.1 create mode 100644 static/openbsd/man1/cu.1 create mode 100644 static/openbsd/man1/cut.1 create mode 100644 static/openbsd/man1/cvs.1 create mode 100644 static/openbsd/man1/date.1 create mode 100644 static/openbsd/man1/dbe.1 create mode 100644 static/openbsd/man1/dbm_dump.1 create mode 100644 static/openbsd/man1/dc.1 create mode 100644 static/openbsd/man1/dd.1 create mode 100644 static/openbsd/man1/def-i.1 create mode 100644 static/openbsd/man1/def-r.1 create mode 100644 static/openbsd/man1/deroff.1 create mode 100644 static/openbsd/man1/df.1 create mode 100644 static/openbsd/man1/diff.1 create mode 100644 static/openbsd/man1/diff3.1 create mode 100644 static/openbsd/man1/dig.1 create mode 100644 static/openbsd/man1/dirname.1 create mode 100644 static/openbsd/man1/dlltool.1 create mode 100644 static/openbsd/man1/doas.1 create mode 100644 static/openbsd/man1/domainname.1 create mode 100644 static/openbsd/man1/du.1 create mode 100644 static/openbsd/man1/echo.1 create mode 100644 static/openbsd/man1/ed.1 create mode 100644 static/openbsd/man1/empty.1 create mode 100644 static/openbsd/man1/encrypt.1 create mode 100644 static/openbsd/man1/env.1 create mode 100644 static/openbsd/man1/expand.1 create mode 100644 static/openbsd/man1/expr.1 create mode 100644 static/openbsd/man1/false.1 create mode 100644 static/openbsd/man1/fdformat.1 create mode 100644 static/openbsd/man1/fgen.1 create mode 100644 static/openbsd/man1/file.1 create mode 100644 static/openbsd/man1/find.1 create mode 100644 static/openbsd/man1/finger.1 create mode 100644 static/openbsd/man1/flex.1 create mode 100644 static/openbsd/man1/fmt.1 create mode 100644 static/openbsd/man1/fold.1 create mode 100644 static/openbsd/man1/from.1 create mode 100644 static/openbsd/man1/fstat.1 create mode 100644 static/openbsd/man1/ftp.1 create mode 100644 static/openbsd/man1/fuser.1 create mode 100644 static/openbsd/man1/g++.1 create mode 100644 static/openbsd/man1/gcc.1 create mode 100644 static/openbsd/man1/gcj-dbtool.1 create mode 100644 static/openbsd/man1/gcj.1 create mode 100644 static/openbsd/man1/gcjh.1 create mode 100644 static/openbsd/man1/gcov.1 create mode 100644 static/openbsd/man1/gdb.1 create mode 100644 static/openbsd/man1/gdbserver.1 create mode 100644 static/openbsd/man1/gencat.1 create mode 100644 static/openbsd/man1/getcap.1 create mode 100644 static/openbsd/man1/getconf.1 create mode 100644 static/openbsd/man1/getent.1 create mode 100644 static/openbsd/man1/getopt.1 create mode 100644 static/openbsd/man1/gfortran.1 create mode 100644 static/openbsd/man1/gij.1 create mode 100644 static/openbsd/man1/gjnih.1 create mode 100644 static/openbsd/man1/gprof.1 create mode 100644 static/openbsd/man1/grep.1 create mode 100644 static/openbsd/man1/grmic.1 create mode 100644 static/openbsd/man1/grmiregistry.1 create mode 100644 static/openbsd/man1/groups.1 create mode 100644 static/openbsd/man1/gzexe.1 create mode 100644 static/openbsd/man1/gzip.1 create mode 100644 static/openbsd/man1/head.1 create mode 100644 static/openbsd/man1/hexdump.1 create mode 100644 static/openbsd/man1/host.1 create mode 100644 static/openbsd/man1/hostname.1 create mode 100644 static/openbsd/man1/htpasswd.1 create mode 100644 static/openbsd/man1/id.1 create mode 100644 static/openbsd/man1/ident.1 create mode 100644 static/openbsd/man1/indent.1 create mode 100644 static/openbsd/man1/info.1 create mode 100644 static/openbsd/man1/infocmp.1 create mode 100644 static/openbsd/man1/infokey.1 create mode 100644 static/openbsd/man1/infotocap.1 create mode 100644 static/openbsd/man1/install-info.1 create mode 100644 static/openbsd/man1/install.1 create mode 100644 static/openbsd/man1/ipcrm.1 create mode 100644 static/openbsd/man1/ipcs.1 create mode 100644 static/openbsd/man1/jcf-dump.1 create mode 100644 static/openbsd/man1/join.1 create mode 100644 static/openbsd/man1/jot.1 create mode 100644 static/openbsd/man1/jv-convert.1 create mode 100644 static/openbsd/man1/jv-scan.1 create mode 100644 static/openbsd/man1/kdump.1 create mode 100644 static/openbsd/man1/keynote.1 create mode 100644 static/openbsd/man1/kill.1 create mode 100644 static/openbsd/man1/ksh.1 create mode 100644 static/openbsd/man1/kstat.1 create mode 100644 static/openbsd/man1/ktrace.1 create mode 100644 static/openbsd/man1/lam.1 create mode 100644 static/openbsd/man1/last.1 create mode 100644 static/openbsd/man1/lastcomm.1 create mode 100644 static/openbsd/man1/ld.lld.1 create mode 100644 static/openbsd/man1/ld.so.1 create mode 100644 static/openbsd/man1/ldap.1 create mode 100644 static/openbsd/man1/ldd.1 create mode 100644 static/openbsd/man1/leave.1 create mode 100644 static/openbsd/man1/less.1 create mode 100644 static/openbsd/man1/lesskey.1 create mode 100644 static/openbsd/man1/libtool.1 create mode 100644 static/openbsd/man1/lldb.1 create mode 100644 static/openbsd/man1/llvm-addr2line.1 create mode 100644 static/openbsd/man1/llvm-config.1 create mode 100644 static/openbsd/man1/llvm-cov.1 create mode 100644 static/openbsd/man1/llvm-objcopy.1 create mode 100644 static/openbsd/man1/llvm-objdump.1 create mode 100644 static/openbsd/man1/llvm-profdata.1 create mode 100644 static/openbsd/man1/llvm-readelf.1 create mode 100644 static/openbsd/man1/llvm-readobj.1 create mode 100644 static/openbsd/man1/llvm-symbolizer.1 create mode 100644 static/openbsd/man1/ln.1 create mode 100644 static/openbsd/man1/lndir.1 create mode 100644 static/openbsd/man1/locale.1 create mode 100644 static/openbsd/man1/locate.1 create mode 100644 static/openbsd/man1/lock.1 create mode 100644 static/openbsd/man1/lockspool.1 create mode 100644 static/openbsd/man1/logger.1 create mode 100644 static/openbsd/man1/login.1 create mode 100644 static/openbsd/man1/logname.1 create mode 100644 static/openbsd/man1/look.1 create mode 100644 static/openbsd/man1/lorder.1 create mode 100644 static/openbsd/man1/lpq.1 create mode 100644 static/openbsd/man1/lpr.1 create mode 100644 static/openbsd/man1/lprm.1 create mode 100644 static/openbsd/man1/ls.1 create mode 100644 static/openbsd/man1/ltrace.1 create mode 100644 static/openbsd/man1/m4.1 create mode 100644 static/openbsd/man1/mail.1 create mode 100644 static/openbsd/man1/make.1 create mode 100644 static/openbsd/man1/makeinfo.1 create mode 100644 static/openbsd/man1/makeinodes.1 create mode 100644 static/openbsd/man1/man.1 create mode 100644 static/openbsd/man1/mandoc.1 create mode 100644 static/openbsd/man1/md5.1 create mode 100644 static/openbsd/man1/merge.1 create mode 100644 static/openbsd/man1/mesg.1 create mode 100644 static/openbsd/man1/mg.1 create mode 100644 static/openbsd/man1/midicat.1 create mode 100644 static/openbsd/man1/mkdep.1 create mode 100644 static/openbsd/man1/mkdir.1 create mode 100644 static/openbsd/man1/mkfifo.1 create mode 100644 static/openbsd/man1/mklocale.1 create mode 100644 static/openbsd/man1/mksuncd.1 create mode 100644 static/openbsd/man1/mktemp.1 create mode 100644 static/openbsd/man1/mlinks.1 create mode 100644 static/openbsd/man1/mopa.out.1 create mode 100644 static/openbsd/man1/mopchk.1 create mode 100644 static/openbsd/man1/mopprobe.1 create mode 100644 static/openbsd/man1/moptrace.1 create mode 100644 static/openbsd/man1/more.1 create mode 100644 static/openbsd/man1/mt.1 create mode 100644 static/openbsd/man1/mv.1 create mode 100644 static/openbsd/man1/nc.1 create mode 100644 static/openbsd/man1/netstat.1 create mode 100644 static/openbsd/man1/nfsstat.1 create mode 100644 static/openbsd/man1/nice.1 create mode 100644 static/openbsd/man1/nl.1 create mode 100644 static/openbsd/man1/nlmconv.1 create mode 100644 static/openbsd/man1/nm.1 create mode 100644 static/openbsd/man1/nohup.1 create mode 100644 static/openbsd/man1/nslookup.1 create mode 100644 static/openbsd/man1/objcopy.1 create mode 100644 static/openbsd/man1/objdump.1 create mode 100644 static/openbsd/man1/od.1 create mode 100644 static/openbsd/man1/openssl.1 create mode 100644 static/openbsd/man1/pagesize.1 create mode 100644 static/openbsd/man1/passwd.1 create mode 100644 static/openbsd/man1/paste.1 create mode 100644 static/openbsd/man1/patch.1 create mode 100644 static/openbsd/man1/pax.1 create mode 100644 static/openbsd/man1/pctr.1 create mode 100644 static/openbsd/man1/pkg_add.1 create mode 100644 static/openbsd/man1/pkg_create.1 create mode 100644 static/openbsd/man1/pkg_delete.1 create mode 100644 static/openbsd/man1/pkg_info.1 create mode 100644 static/openbsd/man1/pkg_mklocatedb.1 create mode 100644 static/openbsd/man1/pkg_sign.1 create mode 100644 static/openbsd/man1/pkgconf.1 create mode 100644 static/openbsd/man1/pkill.1 create mode 100644 static/openbsd/man1/pr.1 create mode 100644 static/openbsd/man1/printenv.1 create mode 100644 static/openbsd/man1/printf.1 create mode 100644 static/openbsd/man1/procmap.1 create mode 100644 static/openbsd/man1/ps.1 create mode 100644 static/openbsd/man1/pwd.1 create mode 100644 static/openbsd/man1/quota.1 create mode 100644 static/openbsd/man1/radioctl.1 create mode 100644 static/openbsd/man1/ranlib.1 create mode 100644 static/openbsd/man1/rcs.1 create mode 100644 static/openbsd/man1/rcs2log.1 create mode 100644 static/openbsd/man1/rcsclean.1 create mode 100644 static/openbsd/man1/rcsdiff.1 create mode 100644 static/openbsd/man1/rcsmerge.1 create mode 100644 static/openbsd/man1/rdist.1 create mode 100644 static/openbsd/man1/rdistd.1 create mode 100644 static/openbsd/man1/readelf.1 create mode 100644 static/openbsd/man1/readlink.1 create mode 100644 static/openbsd/man1/realpath.1 create mode 100644 static/openbsd/man1/rev.1 create mode 100644 static/openbsd/man1/rlog.1 create mode 100644 static/openbsd/man1/rm.1 create mode 100644 static/openbsd/man1/rmdir.1 create mode 100644 static/openbsd/man1/rpcgen.1 create mode 100644 static/openbsd/man1/rs.1 create mode 100644 static/openbsd/man1/rsync.1 create mode 100644 static/openbsd/man1/rup.1 create mode 100644 static/openbsd/man1/rusers.1 create mode 100644 static/openbsd/man1/rwall.1 create mode 100644 static/openbsd/man1/scan-build.1 create mode 100644 static/openbsd/man1/scp.1 create mode 100644 static/openbsd/man1/script.1 create mode 100644 static/openbsd/man1/sdiff.1 create mode 100644 static/openbsd/man1/sed.1 create mode 100644 static/openbsd/man1/sendbug.1 create mode 100644 static/openbsd/man1/seq.1 create mode 100644 static/openbsd/man1/sftp.1 create mode 100644 static/openbsd/man1/sh.1 create mode 100644 static/openbsd/man1/shar.1 create mode 100644 static/openbsd/man1/signify.1 create mode 100644 static/openbsd/man1/size.1 create mode 100644 static/openbsd/man1/skey.1 create mode 100644 static/openbsd/man1/skeyaudit.1 create mode 100644 static/openbsd/man1/skeyinfo.1 create mode 100644 static/openbsd/man1/skeyinit.1 create mode 100644 static/openbsd/man1/sleep.1 create mode 100644 static/openbsd/man1/smtp.1 create mode 100644 static/openbsd/man1/sndioctl.1 create mode 100644 static/openbsd/man1/snmp.1 create mode 100644 static/openbsd/man1/sort.1 create mode 100644 static/openbsd/man1/sortnames.1 create mode 100644 static/openbsd/man1/source.1 create mode 100644 static/openbsd/man1/spell.1 create mode 100644 static/openbsd/man1/split.1 create mode 100644 static/openbsd/man1/ssh-add.1 create mode 100644 static/openbsd/man1/ssh-agent.1 create mode 100644 static/openbsd/man1/ssh-keygen.1 create mode 100644 static/openbsd/man1/ssh-keyscan.1 create mode 100644 static/openbsd/man1/ssh.1 create mode 100644 static/openbsd/man1/stat.1 create mode 100644 static/openbsd/man1/streamtcp.1 create mode 100644 static/openbsd/man1/strings.1 create mode 100644 static/openbsd/man1/strip.1 create mode 100644 static/openbsd/man1/stty.1 create mode 100644 static/openbsd/man1/su.1 create mode 100644 static/openbsd/man1/systat.1 create mode 100644 static/openbsd/man1/t1.1 create mode 100644 static/openbsd/man1/t10.1 create mode 100644 static/openbsd/man1/t11.1 create mode 100644 static/openbsd/man1/t12.1 create mode 100644 static/openbsd/man1/t13.1 create mode 100644 static/openbsd/man1/t14.1 create mode 100644 static/openbsd/man1/t15.1 create mode 100644 static/openbsd/man1/t2.1 create mode 100644 static/openbsd/man1/t3.1 create mode 100644 static/openbsd/man1/t4.1 create mode 100644 static/openbsd/man1/t5.1 create mode 100644 static/openbsd/man1/t6.1 create mode 100644 static/openbsd/man1/t7.1 create mode 100644 static/openbsd/man1/t8.1 create mode 100644 static/openbsd/man1/t9.1 create mode 100644 static/openbsd/man1/tail.1 create mode 100644 static/openbsd/man1/talk.1 create mode 100644 static/openbsd/man1/tar.1 create mode 100644 static/openbsd/man1/tcpbench.1 create mode 100644 static/openbsd/man1/tee.1 create mode 100644 static/openbsd/man1/telnet.1 create mode 100644 static/openbsd/man1/test.1 create mode 100644 static/openbsd/man1/texi2dvi.1 create mode 100644 static/openbsd/man1/texi2pdf.1 create mode 100644 static/openbsd/man1/texindex.1 create mode 100644 static/openbsd/man1/tftp.1 create mode 100644 static/openbsd/man1/tic.1 create mode 100644 static/openbsd/man1/time.1 create mode 100644 static/openbsd/man1/timeout.1 create mode 100644 static/openbsd/man1/tmux.1 create mode 100644 static/openbsd/man1/top.1 create mode 100644 static/openbsd/man1/touch.1 create mode 100644 static/openbsd/man1/tput.1 create mode 100644 static/openbsd/man1/tr.1 create mode 100644 static/openbsd/man1/tradcpp.1 create mode 100644 static/openbsd/man1/true.1 create mode 100644 static/openbsd/man1/ts.1 create mode 100644 static/openbsd/man1/tset.1 create mode 100644 static/openbsd/man1/tsort.1 create mode 100644 static/openbsd/man1/tty.1 create mode 100644 static/openbsd/man1/ul.1 create mode 100644 static/openbsd/man1/uname.1 create mode 100644 static/openbsd/man1/unifdef.1 create mode 100644 static/openbsd/man1/uniq.1 create mode 100644 static/openbsd/man1/units.1 create mode 100644 static/openbsd/man1/unvis.1 create mode 100644 static/openbsd/man1/uptime.1 create mode 100644 static/openbsd/man1/usbhidaction.1 create mode 100644 static/openbsd/man1/usbhidctl.1 create mode 100644 static/openbsd/man1/users.1 create mode 100644 static/openbsd/man1/uuencode.1 create mode 100644 static/openbsd/man1/vacation.1 create mode 100644 static/openbsd/man1/vi.1 create mode 100644 static/openbsd/man1/vis.1 create mode 100644 static/openbsd/man1/w.1 create mode 100644 static/openbsd/man1/wall.1 create mode 100644 static/openbsd/man1/watch.1 create mode 100644 static/openbsd/man1/wc.1 create mode 100644 static/openbsd/man1/what.1 create mode 100644 static/openbsd/man1/whereis.1 create mode 100644 static/openbsd/man1/which.1 create mode 100644 static/openbsd/man1/who.1 create mode 100644 static/openbsd/man1/whoami.1 create mode 100644 static/openbsd/man1/whois.1 create mode 100644 static/openbsd/man1/windres.1 create mode 100644 static/openbsd/man1/write.1 create mode 100644 static/openbsd/man1/x99token.1 create mode 100644 static/openbsd/man1/xargs.1 create mode 100644 static/openbsd/man1/xr.1 create mode 100644 static/openbsd/man1/yacc.1 create mode 100644 static/openbsd/man1/yes.1 create mode 100644 static/openbsd/man1/ypcat.1 create mode 100644 static/openbsd/man1/ypmatch.1 create mode 100644 static/openbsd/man1/ypwhich.1 create mode 100644 static/openbsd/man1/yyfix.1 create mode 100644 static/openbsd/man1/zdiff.1 create mode 100644 static/openbsd/man1/zforce.1 create mode 100644 static/openbsd/man1/zmore.1 create mode 100644 static/openbsd/man1/znew.1 create mode 100644 static/openbsd/man2/__get_tcb.2 create mode 100644 static/openbsd/man2/__thrsigdivert.2 create mode 100644 static/openbsd/man2/__thrsleep.2 create mode 100644 static/openbsd/man2/_exit.2 create mode 100644 static/openbsd/man2/accept.2 create mode 100644 static/openbsd/man2/access.2 create mode 100644 static/openbsd/man2/acct.2 create mode 100644 static/openbsd/man2/adjfreq.2 create mode 100644 static/openbsd/man2/adjtime.2 create mode 100644 static/openbsd/man2/amd64_iopl.2 create mode 100644 static/openbsd/man2/arm_drain_writebuf.2 create mode 100644 static/openbsd/man2/arm_sync_icache.2 create mode 100644 static/openbsd/man2/bind.2 create mode 100644 static/openbsd/man2/brk.2 create mode 100644 static/openbsd/man2/chdir.2 create mode 100644 static/openbsd/man2/chflags.2 create mode 100644 static/openbsd/man2/chmod.2 create mode 100644 static/openbsd/man2/chown.2 create mode 100644 static/openbsd/man2/chroot.2 create mode 100644 static/openbsd/man2/clock_gettime.2 create mode 100644 static/openbsd/man2/close.2 create mode 100644 static/openbsd/man2/closefrom.2 create mode 100644 static/openbsd/man2/connect.2 create mode 100644 static/openbsd/man2/csh.2 create mode 100644 static/openbsd/man2/dup.2 create mode 100644 static/openbsd/man2/execve.2 create mode 100644 static/openbsd/man2/fcntl.2 create mode 100644 static/openbsd/man2/fhopen.2 create mode 100644 static/openbsd/man2/flock.2 create mode 100644 static/openbsd/man2/fork.2 create mode 100644 static/openbsd/man2/fsync.2 create mode 100644 static/openbsd/man2/futex.2 create mode 100644 static/openbsd/man2/getdents.2 create mode 100644 static/openbsd/man2/getdtablecount.2 create mode 100644 static/openbsd/man2/getentropy.2 create mode 100644 static/openbsd/man2/getfh.2 create mode 100644 static/openbsd/man2/getfsstat.2 create mode 100644 static/openbsd/man2/getgid.2 create mode 100644 static/openbsd/man2/getgroups.2 create mode 100644 static/openbsd/man2/getitimer.2 create mode 100644 static/openbsd/man2/getlogin.2 create mode 100644 static/openbsd/man2/getpeername.2 create mode 100644 static/openbsd/man2/getpgrp.2 create mode 100644 static/openbsd/man2/getpid.2 create mode 100644 static/openbsd/man2/getpriority.2 create mode 100644 static/openbsd/man2/getrlimit.2 create mode 100644 static/openbsd/man2/getrtable.2 create mode 100644 static/openbsd/man2/getrusage.2 create mode 100644 static/openbsd/man2/getsid.2 create mode 100644 static/openbsd/man2/getsockname.2 create mode 100644 static/openbsd/man2/getsockopt.2 create mode 100644 static/openbsd/man2/getthrid.2 create mode 100644 static/openbsd/man2/getthrname.2 create mode 100644 static/openbsd/man2/gettimeofday.2 create mode 100644 static/openbsd/man2/getuid.2 create mode 100644 static/openbsd/man2/i386_get_fsbase.2 create mode 100644 static/openbsd/man2/i386_get_gsbase.2 create mode 100644 static/openbsd/man2/i386_iopl.2 create mode 100644 static/openbsd/man2/inb.2 create mode 100644 static/openbsd/man2/intro.2 create mode 100644 static/openbsd/man2/ioctl.2 create mode 100644 static/openbsd/man2/issetugid.2 create mode 100644 static/openbsd/man2/kbind.2 create mode 100644 static/openbsd/man2/kill.2 create mode 100644 static/openbsd/man2/kqueue.2 create mode 100644 static/openbsd/man2/ktrace.2 create mode 100644 static/openbsd/man2/link.2 create mode 100644 static/openbsd/man2/listen.2 create mode 100644 static/openbsd/man2/lseek.2 create mode 100644 static/openbsd/man2/madvise.2 create mode 100644 static/openbsd/man2/mimmutable.2 create mode 100644 static/openbsd/man2/minherit.2 create mode 100644 static/openbsd/man2/mkdir.2 create mode 100644 static/openbsd/man2/mkfifo.2 create mode 100644 static/openbsd/man2/mknod.2 create mode 100644 static/openbsd/man2/mlock.2 create mode 100644 static/openbsd/man2/mlockall.2 create mode 100644 static/openbsd/man2/mmap.2 create mode 100644 static/openbsd/man2/mount.2 create mode 100644 static/openbsd/man2/mprotect.2 create mode 100644 static/openbsd/man2/mquery.2 create mode 100644 static/openbsd/man2/msgctl.2 create mode 100644 static/openbsd/man2/msgget.2 create mode 100644 static/openbsd/man2/msgrcv.2 create mode 100644 static/openbsd/man2/msgsnd.2 create mode 100644 static/openbsd/man2/msync.2 create mode 100644 static/openbsd/man2/munmap.2 create mode 100644 static/openbsd/man2/nanosleep.2 create mode 100644 static/openbsd/man2/nfssvc.2 create mode 100644 static/openbsd/man2/open.2 create mode 100644 static/openbsd/man2/pathconf.2 create mode 100644 static/openbsd/man2/pinsyscalls.2 create mode 100644 static/openbsd/man2/pipe.2 create mode 100644 static/openbsd/man2/pledge.2 create mode 100644 static/openbsd/man2/poll.2 create mode 100644 static/openbsd/man2/profil.2 create mode 100644 static/openbsd/man2/ptrace.2 create mode 100644 static/openbsd/man2/quotactl.2 create mode 100644 static/openbsd/man2/read.2 create mode 100644 static/openbsd/man2/readlink.2 create mode 100644 static/openbsd/man2/reboot.2 create mode 100644 static/openbsd/man2/recv.2 create mode 100644 static/openbsd/man2/rename.2 create mode 100644 static/openbsd/man2/revoke.2 create mode 100644 static/openbsd/man2/rmdir.2 create mode 100644 static/openbsd/man2/sched_yield.2 create mode 100644 static/openbsd/man2/select.2 create mode 100644 static/openbsd/man2/semctl.2 create mode 100644 static/openbsd/man2/semget.2 create mode 100644 static/openbsd/man2/semop.2 create mode 100644 static/openbsd/man2/send.2 create mode 100644 static/openbsd/man2/sendsyslog.2 create mode 100644 static/openbsd/man2/setgroups.2 create mode 100644 static/openbsd/man2/setpgid.2 create mode 100644 static/openbsd/man2/setregid.2 create mode 100644 static/openbsd/man2/setresuid.2 create mode 100644 static/openbsd/man2/setreuid.2 create mode 100644 static/openbsd/man2/setsid.2 create mode 100644 static/openbsd/man2/setuid.2 create mode 100644 static/openbsd/man2/shmat.2 create mode 100644 static/openbsd/man2/shmctl.2 create mode 100644 static/openbsd/man2/shmget.2 create mode 100644 static/openbsd/man2/shutdown.2 create mode 100644 static/openbsd/man2/sigaction.2 create mode 100644 static/openbsd/man2/sigaltstack.2 create mode 100644 static/openbsd/man2/sigpending.2 create mode 100644 static/openbsd/man2/sigprocmask.2 create mode 100644 static/openbsd/man2/sigreturn.2 create mode 100644 static/openbsd/man2/sigsuspend.2 create mode 100644 static/openbsd/man2/socket.2 create mode 100644 static/openbsd/man2/socketpair.2 create mode 100644 static/openbsd/man2/stat.2 create mode 100644 static/openbsd/man2/statfs.2 create mode 100644 static/openbsd/man2/swapctl.2 create mode 100644 static/openbsd/man2/symlink.2 create mode 100644 static/openbsd/man2/sync.2 create mode 100644 static/openbsd/man2/sysarch.2 create mode 100644 static/openbsd/man2/sysctl.2 create mode 100644 static/openbsd/man2/t1.2 create mode 100644 static/openbsd/man2/t10.2 create mode 100644 static/openbsd/man2/t11.2 create mode 100644 static/openbsd/man2/t12.2 create mode 100644 static/openbsd/man2/t13.2 create mode 100644 static/openbsd/man2/t14.2 create mode 100644 static/openbsd/man2/t15.2 create mode 100644 static/openbsd/man2/t2.2 create mode 100644 static/openbsd/man2/t3.2 create mode 100644 static/openbsd/man2/t4.2 create mode 100644 static/openbsd/man2/t5.2 create mode 100644 static/openbsd/man2/t6.2 create mode 100644 static/openbsd/man2/t7.2 create mode 100644 static/openbsd/man2/t8.2 create mode 100644 static/openbsd/man2/t9.2 create mode 100644 static/openbsd/man2/thrkill.2 create mode 100644 static/openbsd/man2/truncate.2 create mode 100644 static/openbsd/man2/umask.2 create mode 100644 static/openbsd/man2/unlink.2 create mode 100644 static/openbsd/man2/unveil.2 create mode 100644 static/openbsd/man2/utimes.2 create mode 100644 static/openbsd/man2/utrace.2 create mode 100644 static/openbsd/man2/vfork.2 create mode 100644 static/openbsd/man2/wait.2 create mode 100644 static/openbsd/man2/waitid.2 create mode 100644 static/openbsd/man2/write.2 create mode 100644 static/openbsd/man2/ypconnect.2 create mode 100644 static/openbsd/man3/ACCESS_DESCRIPTION_new.3 create mode 100644 static/openbsd/man3/AES_encrypt.3 create mode 100644 static/openbsd/man3/ASIdentifiers_new.3 create mode 100644 static/openbsd/man3/ASN1_BIT_STRING_set.3 create mode 100644 static/openbsd/man3/ASN1_INTEGER_get.3 create mode 100644 static/openbsd/man3/ASN1_NULL_new.3 create mode 100644 static/openbsd/man3/ASN1_OBJECT_new.3 create mode 100644 static/openbsd/man3/ASN1_PRINTABLE_type.3 create mode 100644 static/openbsd/man3/ASN1_STRING_TABLE_get.3 create mode 100644 static/openbsd/man3/ASN1_STRING_length.3 create mode 100644 static/openbsd/man3/ASN1_STRING_new.3 create mode 100644 static/openbsd/man3/ASN1_STRING_print_ex.3 create mode 100644 static/openbsd/man3/ASN1_TIME_set.3 create mode 100644 static/openbsd/man3/ASN1_TYPE_get.3 create mode 100644 static/openbsd/man3/ASN1_UNIVERSALSTRING_to_string.3 create mode 100644 static/openbsd/man3/ASN1_generate_nconf.3 create mode 100644 static/openbsd/man3/ASN1_get_object.3 create mode 100644 static/openbsd/man3/ASN1_item_d2i.3 create mode 100644 static/openbsd/man3/ASN1_item_digest.3 create mode 100644 static/openbsd/man3/ASN1_item_new.3 create mode 100644 static/openbsd/man3/ASN1_item_pack.3 create mode 100644 static/openbsd/man3/ASN1_item_sign.3 create mode 100644 static/openbsd/man3/ASN1_item_verify.3 create mode 100644 static/openbsd/man3/ASN1_mbstring_copy.3 create mode 100644 static/openbsd/man3/ASN1_parse_dump.3 create mode 100644 static/openbsd/man3/ASN1_put_object.3 create mode 100644 static/openbsd/man3/ASRange_new.3 create mode 100644 static/openbsd/man3/AUTHORITY_KEYID_new.3 create mode 100644 static/openbsd/man3/BASIC_CONSTRAINTS_new.3 create mode 100644 static/openbsd/man3/BF_set_key.3 create mode 100644 static/openbsd/man3/BIO_accept.3 create mode 100644 static/openbsd/man3/BIO_ctrl.3 create mode 100644 static/openbsd/man3/BIO_dump.3 create mode 100644 static/openbsd/man3/BIO_dup_chain.3 create mode 100644 static/openbsd/man3/BIO_f_base64.3 create mode 100644 static/openbsd/man3/BIO_f_buffer.3 create mode 100644 static/openbsd/man3/BIO_f_cipher.3 create mode 100644 static/openbsd/man3/BIO_f_md.3 create mode 100644 static/openbsd/man3/BIO_f_null.3 create mode 100644 static/openbsd/man3/BIO_f_ssl.3 create mode 100644 static/openbsd/man3/BIO_find_type.3 create mode 100644 static/openbsd/man3/BIO_get_data.3 create mode 100644 static/openbsd/man3/BIO_get_ex_new_index.3 create mode 100644 static/openbsd/man3/BIO_meth_new.3 create mode 100644 static/openbsd/man3/BIO_new.3 create mode 100644 static/openbsd/man3/BIO_new_CMS.3 create mode 100644 static/openbsd/man3/BIO_printf.3 create mode 100644 static/openbsd/man3/BIO_push.3 create mode 100644 static/openbsd/man3/BIO_read.3 create mode 100644 static/openbsd/man3/BIO_s_accept.3 create mode 100644 static/openbsd/man3/BIO_s_bio.3 create mode 100644 static/openbsd/man3/BIO_s_connect.3 create mode 100644 static/openbsd/man3/BIO_s_datagram.3 create mode 100644 static/openbsd/man3/BIO_s_fd.3 create mode 100644 static/openbsd/man3/BIO_s_file.3 create mode 100644 static/openbsd/man3/BIO_s_mem.3 create mode 100644 static/openbsd/man3/BIO_s_null.3 create mode 100644 static/openbsd/man3/BIO_s_socket.3 create mode 100644 static/openbsd/man3/BIO_set_callback.3 create mode 100644 static/openbsd/man3/BIO_should_retry.3 create mode 100644 static/openbsd/man3/BN_CTX_new.3 create mode 100644 static/openbsd/man3/BN_CTX_start.3 create mode 100644 static/openbsd/man3/BN_add.3 create mode 100644 static/openbsd/man3/BN_add_word.3 create mode 100644 static/openbsd/man3/BN_bn2bin.3 create mode 100644 static/openbsd/man3/BN_cmp.3 create mode 100644 static/openbsd/man3/BN_copy.3 create mode 100644 static/openbsd/man3/BN_generate_prime.3 create mode 100644 static/openbsd/man3/BN_get_rfc3526_prime_8192.3 create mode 100644 static/openbsd/man3/BN_kronecker.3 create mode 100644 static/openbsd/man3/BN_mod_inverse.3 create mode 100644 static/openbsd/man3/BN_mod_mul_montgomery.3 create mode 100644 static/openbsd/man3/BN_mod_sqrt.3 create mode 100644 static/openbsd/man3/BN_new.3 create mode 100644 static/openbsd/man3/BN_num_bytes.3 create mode 100644 static/openbsd/man3/BN_rand.3 create mode 100644 static/openbsd/man3/BN_set_bit.3 create mode 100644 static/openbsd/man3/BN_set_flags.3 create mode 100644 static/openbsd/man3/BN_set_negative.3 create mode 100644 static/openbsd/man3/BN_swap.3 create mode 100644 static/openbsd/man3/BN_zero.3 create mode 100644 static/openbsd/man3/BUF_MEM_new.3 create mode 100644 static/openbsd/man3/CMAC_Init.3 create mode 100644 static/openbsd/man3/CMS_ContentInfo_new.3 create mode 100644 static/openbsd/man3/CMS_add0_cert.3 create mode 100644 static/openbsd/man3/CMS_add1_recipient_cert.3 create mode 100644 static/openbsd/man3/CMS_add1_signer.3 create mode 100644 static/openbsd/man3/CMS_compress.3 create mode 100644 static/openbsd/man3/CMS_decrypt.3 create mode 100644 static/openbsd/man3/CMS_encrypt.3 create mode 100644 static/openbsd/man3/CMS_final.3 create mode 100644 static/openbsd/man3/CMS_get0_RecipientInfos.3 create mode 100644 static/openbsd/man3/CMS_get0_SignerInfos.3 create mode 100644 static/openbsd/man3/CMS_get0_type.3 create mode 100644 static/openbsd/man3/CMS_get1_ReceiptRequest.3 create mode 100644 static/openbsd/man3/CMS_sign.3 create mode 100644 static/openbsd/man3/CMS_sign_receipt.3 create mode 100644 static/openbsd/man3/CMS_signed_add1_attr.3 create mode 100644 static/openbsd/man3/CMS_uncompress.3 create mode 100644 static/openbsd/man3/CMS_verify.3 create mode 100644 static/openbsd/man3/CMS_verify_receipt.3 create mode 100644 static/openbsd/man3/CONF_modules_free.3 create mode 100644 static/openbsd/man3/CONF_modules_load_file.3 create mode 100644 static/openbsd/man3/CRYPTO_lock.3 create mode 100644 static/openbsd/man3/CRYPTO_memcmp.3 create mode 100644 static/openbsd/man3/CRYPTO_set_ex_data.3 create mode 100644 static/openbsd/man3/CRYPTO_set_mem_functions.3 create mode 100644 static/openbsd/man3/ChaCha.3 create mode 100644 static/openbsd/man3/DES_set_key.3 create mode 100644 static/openbsd/man3/DH_generate_key.3 create mode 100644 static/openbsd/man3/DH_generate_parameters.3 create mode 100644 static/openbsd/man3/DH_get0_pqg.3 create mode 100644 static/openbsd/man3/DH_get_ex_new_index.3 create mode 100644 static/openbsd/man3/DH_new.3 create mode 100644 static/openbsd/man3/DH_set_method.3 create mode 100644 static/openbsd/man3/DH_size.3 create mode 100644 static/openbsd/man3/DIST_POINT_new.3 create mode 100644 static/openbsd/man3/DSA_SIG_new.3 create mode 100644 static/openbsd/man3/DSA_do_sign.3 create mode 100644 static/openbsd/man3/DSA_dup_DH.3 create mode 100644 static/openbsd/man3/DSA_generate_key.3 create mode 100644 static/openbsd/man3/DSA_generate_parameters_ex.3 create mode 100644 static/openbsd/man3/DSA_get0_pqg.3 create mode 100644 static/openbsd/man3/DSA_get_ex_new_index.3 create mode 100644 static/openbsd/man3/DSA_meth_new.3 create mode 100644 static/openbsd/man3/DSA_new.3 create mode 100644 static/openbsd/man3/DSA_set_method.3 create mode 100644 static/openbsd/man3/DSA_sign.3 create mode 100644 static/openbsd/man3/DSA_size.3 create mode 100644 static/openbsd/man3/DTLSv1_listen.3 create mode 100644 static/openbsd/man3/ECDH_compute_key.3 create mode 100644 static/openbsd/man3/ECDSA_SIG_new.3 create mode 100644 static/openbsd/man3/EC_GROUP_check.3 create mode 100644 static/openbsd/man3/EC_GROUP_get_curve_name.3 create mode 100644 static/openbsd/man3/EC_GROUP_new_by_curve_name.3 create mode 100644 static/openbsd/man3/EC_GROUP_new_curve_GFp.3 create mode 100644 static/openbsd/man3/EC_KEY_METHOD_new.3 create mode 100644 static/openbsd/man3/EC_KEY_new.3 create mode 100644 static/openbsd/man3/EC_POINT_add.3 create mode 100644 static/openbsd/man3/EC_POINT_get_affine_coordinates.3 create mode 100644 static/openbsd/man3/EC_POINT_new.3 create mode 100644 static/openbsd/man3/EC_POINT_point2oct.3 create mode 100644 static/openbsd/man3/ENGINE_new.3 create mode 100644 static/openbsd/man3/ERR_GET_LIB.3 create mode 100644 static/openbsd/man3/ERR_asprintf_error_data.3 create mode 100644 static/openbsd/man3/ERR_clear_error.3 create mode 100644 static/openbsd/man3/ERR_error_string.3 create mode 100644 static/openbsd/man3/ERR_get_error.3 create mode 100644 static/openbsd/man3/ERR_load_crypto_strings.3 create mode 100644 static/openbsd/man3/ERR_load_strings.3 create mode 100644 static/openbsd/man3/ERR_print_errors.3 create mode 100644 static/openbsd/man3/ERR_put_error.3 create mode 100644 static/openbsd/man3/ERR_remove_state.3 create mode 100644 static/openbsd/man3/ERR_set_mark.3 create mode 100644 static/openbsd/man3/ESS_SIGNING_CERT_new.3 create mode 100644 static/openbsd/man3/EVP_AEAD_CTX_init.3 create mode 100644 static/openbsd/man3/EVP_BytesToKey.3 create mode 100644 static/openbsd/man3/EVP_CIPHER_CTX_ctrl.3 create mode 100644 static/openbsd/man3/EVP_CIPHER_CTX_get_cipher_data.3 create mode 100644 static/openbsd/man3/EVP_CIPHER_CTX_init.3 create mode 100644 static/openbsd/man3/EVP_CIPHER_CTX_set_flags.3 create mode 100644 static/openbsd/man3/EVP_CIPHER_do_all.3 create mode 100644 static/openbsd/man3/EVP_CIPHER_meth_new.3 create mode 100644 static/openbsd/man3/EVP_CIPHER_nid.3 create mode 100644 static/openbsd/man3/EVP_DigestInit.3 create mode 100644 static/openbsd/man3/EVP_DigestSignInit.3 create mode 100644 static/openbsd/man3/EVP_DigestVerifyInit.3 create mode 100644 static/openbsd/man3/EVP_EncodeInit.3 create mode 100644 static/openbsd/man3/EVP_EncryptInit.3 create mode 100644 static/openbsd/man3/EVP_MD_CTX_ctrl.3 create mode 100644 static/openbsd/man3/EVP_MD_nid.3 create mode 100644 static/openbsd/man3/EVP_OpenInit.3 create mode 100644 static/openbsd/man3/EVP_PKCS82PKEY.3 create mode 100644 static/openbsd/man3/EVP_PKEY_CTX_ctrl.3 create mode 100644 static/openbsd/man3/EVP_PKEY_CTX_get_operation.3 create mode 100644 static/openbsd/man3/EVP_PKEY_CTX_new.3 create mode 100644 static/openbsd/man3/EVP_PKEY_CTX_set_hkdf_md.3 create mode 100644 static/openbsd/man3/EVP_PKEY_CTX_set_tls1_prf_md.3 create mode 100644 static/openbsd/man3/EVP_PKEY_asn1_get_count.3 create mode 100644 static/openbsd/man3/EVP_PKEY_cmp.3 create mode 100644 static/openbsd/man3/EVP_PKEY_decrypt.3 create mode 100644 static/openbsd/man3/EVP_PKEY_derive.3 create mode 100644 static/openbsd/man3/EVP_PKEY_encrypt.3 create mode 100644 static/openbsd/man3/EVP_PKEY_get_default_digest_nid.3 create mode 100644 static/openbsd/man3/EVP_PKEY_keygen.3 create mode 100644 static/openbsd/man3/EVP_PKEY_new.3 create mode 100644 static/openbsd/man3/EVP_PKEY_new_CMAC_key.3 create mode 100644 static/openbsd/man3/EVP_PKEY_print_private.3 create mode 100644 static/openbsd/man3/EVP_PKEY_set1_RSA.3 create mode 100644 static/openbsd/man3/EVP_PKEY_sign.3 create mode 100644 static/openbsd/man3/EVP_PKEY_size.3 create mode 100644 static/openbsd/man3/EVP_PKEY_verify.3 create mode 100644 static/openbsd/man3/EVP_PKEY_verify_recover.3 create mode 100644 static/openbsd/man3/EVP_SealInit.3 create mode 100644 static/openbsd/man3/EVP_SignInit.3 create mode 100644 static/openbsd/man3/EVP_VerifyInit.3 create mode 100644 static/openbsd/man3/EVP_aes_128_cbc.3 create mode 100644 static/openbsd/man3/EVP_aes_128_ccm.3 create mode 100644 static/openbsd/man3/EVP_aes_128_gcm.3 create mode 100644 static/openbsd/man3/EVP_camellia_128_cbc.3 create mode 100644 static/openbsd/man3/EVP_chacha20.3 create mode 100644 static/openbsd/man3/EVP_des_cbc.3 create mode 100644 static/openbsd/man3/EVP_rc2_cbc.3 create mode 100644 static/openbsd/man3/EVP_rc4.3 create mode 100644 static/openbsd/man3/EVP_sha1.3 create mode 100644 static/openbsd/man3/EVP_sha3_224.3 create mode 100644 static/openbsd/man3/EVP_sm3.3 create mode 100644 static/openbsd/man3/EVP_sm4_cbc.3 create mode 100644 static/openbsd/man3/EXTENDED_KEY_USAGE_new.3 create mode 100644 static/openbsd/man3/GENERAL_NAME_new.3 create mode 100644 static/openbsd/man3/HMAC.3 create mode 100644 static/openbsd/man3/IPAddressRange_new.3 create mode 100644 static/openbsd/man3/MB_CUR_MAX.3 create mode 100644 static/openbsd/man3/MD5.3 create mode 100644 static/openbsd/man3/MD5Init.3 create mode 100644 static/openbsd/man3/NAME_CONSTRAINTS_new.3 create mode 100644 static/openbsd/man3/OBJ_create.3 create mode 100644 static/openbsd/man3/OBJ_find_sigid_algs.3 create mode 100644 static/openbsd/man3/OBJ_nid2obj.3 create mode 100644 static/openbsd/man3/OCSP_CRLID_new.3 create mode 100644 static/openbsd/man3/OCSP_REQUEST_new.3 create mode 100644 static/openbsd/man3/OCSP_SERVICELOC_new.3 create mode 100644 static/openbsd/man3/OCSP_cert_to_id.3 create mode 100644 static/openbsd/man3/OCSP_request_add1_nonce.3 create mode 100644 static/openbsd/man3/OCSP_resp_find_status.3 create mode 100644 static/openbsd/man3/OCSP_response_status.3 create mode 100644 static/openbsd/man3/OCSP_sendreq_new.3 create mode 100644 static/openbsd/man3/OPENSSL_VERSION_NUMBER.3 create mode 100644 static/openbsd/man3/OPENSSL_cleanse.3 create mode 100644 static/openbsd/man3/OPENSSL_config.3 create mode 100644 static/openbsd/man3/OPENSSL_init_crypto.3 create mode 100644 static/openbsd/man3/OPENSSL_init_ssl.3 create mode 100644 static/openbsd/man3/OPENSSL_malloc.3 create mode 100644 static/openbsd/man3/OPENSSL_sk_new.3 create mode 100644 static/openbsd/man3/OpenSSL_add_all_algorithms.3 create mode 100644 static/openbsd/man3/PEM_ASN1_read.3 create mode 100644 static/openbsd/man3/PEM_X509_INFO_read_bio.3 create mode 100644 static/openbsd/man3/PEM_bytes_read_bio.3 create mode 100644 static/openbsd/man3/PEM_read.3 create mode 100644 static/openbsd/man3/PEM_read_SSL_SESSION.3 create mode 100644 static/openbsd/man3/PEM_read_bio_PrivateKey.3 create mode 100644 static/openbsd/man3/PEM_write_bio_CMS_stream.3 create mode 100644 static/openbsd/man3/PEM_write_bio_PKCS7_stream.3 create mode 100644 static/openbsd/man3/PKCS12_SAFEBAG_new.3 create mode 100644 static/openbsd/man3/PKCS12_create.3 create mode 100644 static/openbsd/man3/PKCS12_new.3 create mode 100644 static/openbsd/man3/PKCS12_newpass.3 create mode 100644 static/openbsd/man3/PKCS12_parse.3 create mode 100644 static/openbsd/man3/PKCS5_PBKDF2_HMAC.3 create mode 100644 static/openbsd/man3/PKCS7_add_attribute.3 create mode 100644 static/openbsd/man3/PKCS7_dataFinal.3 create mode 100644 static/openbsd/man3/PKCS7_dataInit.3 create mode 100644 static/openbsd/man3/PKCS7_decrypt.3 create mode 100644 static/openbsd/man3/PKCS7_encrypt.3 create mode 100644 static/openbsd/man3/PKCS7_final.3 create mode 100644 static/openbsd/man3/PKCS7_get_signer_info.3 create mode 100644 static/openbsd/man3/PKCS7_new.3 create mode 100644 static/openbsd/man3/PKCS7_set_content.3 create mode 100644 static/openbsd/man3/PKCS7_set_type.3 create mode 100644 static/openbsd/man3/PKCS7_sign.3 create mode 100644 static/openbsd/man3/PKCS7_sign_add_signer.3 create mode 100644 static/openbsd/man3/PKCS7_verify.3 create mode 100644 static/openbsd/man3/PKCS8_PRIV_KEY_INFO_new.3 create mode 100644 static/openbsd/man3/PKCS8_pkey_set0.3 create mode 100644 static/openbsd/man3/PKEY_USAGE_PERIOD_new.3 create mode 100644 static/openbsd/man3/POLICYINFO_new.3 create mode 100644 static/openbsd/man3/RAND_add.3 create mode 100644 static/openbsd/man3/RAND_bytes.3 create mode 100644 static/openbsd/man3/RAND_load_file.3 create mode 100644 static/openbsd/man3/RAND_set_rand_method.3 create mode 100644 static/openbsd/man3/RC2_encrypt.3 create mode 100644 static/openbsd/man3/RC4.3 create mode 100644 static/openbsd/man3/RIPEMD160.3 create mode 100644 static/openbsd/man3/RMD160Init.3 create mode 100644 static/openbsd/man3/RSA_PSS_PARAMS_new.3 create mode 100644 static/openbsd/man3/RSA_blinding_on.3 create mode 100644 static/openbsd/man3/RSA_check_key.3 create mode 100644 static/openbsd/man3/RSA_generate_key.3 create mode 100644 static/openbsd/man3/RSA_get0_key.3 create mode 100644 static/openbsd/man3/RSA_get_ex_new_index.3 create mode 100644 static/openbsd/man3/RSA_meth_new.3 create mode 100644 static/openbsd/man3/RSA_new.3 create mode 100644 static/openbsd/man3/RSA_padding_add_PKCS1_type_1.3 create mode 100644 static/openbsd/man3/RSA_pkey_ctx_ctrl.3 create mode 100644 static/openbsd/man3/RSA_print.3 create mode 100644 static/openbsd/man3/RSA_private_encrypt.3 create mode 100644 static/openbsd/man3/RSA_public_encrypt.3 create mode 100644 static/openbsd/man3/RSA_security_bits.3 create mode 100644 static/openbsd/man3/RSA_set_method.3 create mode 100644 static/openbsd/man3/RSA_sign.3 create mode 100644 static/openbsd/man3/RSA_sign_ASN1_OCTET_STRING.3 create mode 100644 static/openbsd/man3/RSA_size.3 create mode 100644 static/openbsd/man3/SHA1.3 create mode 100644 static/openbsd/man3/SHA1Init.3 create mode 100644 static/openbsd/man3/SHA256Init.3 create mode 100644 static/openbsd/man3/SMIME_crlf_copy.3 create mode 100644 static/openbsd/man3/SMIME_read_CMS.3 create mode 100644 static/openbsd/man3/SMIME_read_PKCS7.3 create mode 100644 static/openbsd/man3/SMIME_text.3 create mode 100644 static/openbsd/man3/SMIME_write_CMS.3 create mode 100644 static/openbsd/man3/SMIME_write_PKCS7.3 create mode 100644 static/openbsd/man3/SSL_CIPHER_get_name.3 create mode 100644 static/openbsd/man3/SSL_COMP_add_compression_method.3 create mode 100644 static/openbsd/man3/SSL_CTX_add1_chain_cert.3 create mode 100644 static/openbsd/man3/SSL_CTX_add_extra_chain_cert.3 create mode 100644 static/openbsd/man3/SSL_CTX_add_session.3 create mode 100644 static/openbsd/man3/SSL_CTX_ctrl.3 create mode 100644 static/openbsd/man3/SSL_CTX_flush_sessions.3 create mode 100644 static/openbsd/man3/SSL_CTX_free.3 create mode 100644 static/openbsd/man3/SSL_CTX_get0_certificate.3 create mode 100644 static/openbsd/man3/SSL_CTX_get_ex_new_index.3 create mode 100644 static/openbsd/man3/SSL_CTX_get_verify_mode.3 create mode 100644 static/openbsd/man3/SSL_CTX_load_verify_locations.3 create mode 100644 static/openbsd/man3/SSL_CTX_new.3 create mode 100644 static/openbsd/man3/SSL_CTX_sess_number.3 create mode 100644 static/openbsd/man3/SSL_CTX_sess_set_cache_size.3 create mode 100644 static/openbsd/man3/SSL_CTX_sess_set_get_cb.3 create mode 100644 static/openbsd/man3/SSL_CTX_sessions.3 create mode 100644 static/openbsd/man3/SSL_CTX_set1_groups.3 create mode 100644 static/openbsd/man3/SSL_CTX_set_alpn_select_cb.3 create mode 100644 static/openbsd/man3/SSL_CTX_set_cert_store.3 create mode 100644 static/openbsd/man3/SSL_CTX_set_cert_verify_callback.3 create mode 100644 static/openbsd/man3/SSL_CTX_set_cipher_list.3 create mode 100644 static/openbsd/man3/SSL_CTX_set_client_CA_list.3 create mode 100644 static/openbsd/man3/SSL_CTX_set_client_cert_cb.3 create mode 100644 static/openbsd/man3/SSL_CTX_set_default_passwd_cb.3 create mode 100644 static/openbsd/man3/SSL_CTX_set_generate_session_id.3 create mode 100644 static/openbsd/man3/SSL_CTX_set_info_callback.3 create mode 100644 static/openbsd/man3/SSL_CTX_set_keylog_callback.3 create mode 100644 static/openbsd/man3/SSL_CTX_set_max_cert_list.3 create mode 100644 static/openbsd/man3/SSL_CTX_set_min_proto_version.3 create mode 100644 static/openbsd/man3/SSL_CTX_set_mode.3 create mode 100644 static/openbsd/man3/SSL_CTX_set_msg_callback.3 create mode 100644 static/openbsd/man3/SSL_CTX_set_num_tickets.3 create mode 100644 static/openbsd/man3/SSL_CTX_set_options.3 create mode 100644 static/openbsd/man3/SSL_CTX_set_quiet_shutdown.3 create mode 100644 static/openbsd/man3/SSL_CTX_set_read_ahead.3 create mode 100644 static/openbsd/man3/SSL_CTX_set_security_level.3 create mode 100644 static/openbsd/man3/SSL_CTX_set_session_cache_mode.3 create mode 100644 static/openbsd/man3/SSL_CTX_set_session_id_context.3 create mode 100644 static/openbsd/man3/SSL_CTX_set_ssl_version.3 create mode 100644 static/openbsd/man3/SSL_CTX_set_timeout.3 create mode 100644 static/openbsd/man3/SSL_CTX_set_tlsext_servername_callback.3 create mode 100644 static/openbsd/man3/SSL_CTX_set_tlsext_status_cb.3 create mode 100644 static/openbsd/man3/SSL_CTX_set_tlsext_ticket_key_cb.3 create mode 100644 static/openbsd/man3/SSL_CTX_set_tlsext_use_srtp.3 create mode 100644 static/openbsd/man3/SSL_CTX_set_tmp_dh_callback.3 create mode 100644 static/openbsd/man3/SSL_CTX_set_tmp_rsa_callback.3 create mode 100644 static/openbsd/man3/SSL_CTX_set_verify.3 create mode 100644 static/openbsd/man3/SSL_CTX_use_certificate.3 create mode 100644 static/openbsd/man3/SSL_SESSION_free.3 create mode 100644 static/openbsd/man3/SSL_SESSION_get0_cipher.3 create mode 100644 static/openbsd/man3/SSL_SESSION_get0_peer.3 create mode 100644 static/openbsd/man3/SSL_SESSION_get_compress_id.3 create mode 100644 static/openbsd/man3/SSL_SESSION_get_ex_new_index.3 create mode 100644 static/openbsd/man3/SSL_SESSION_get_id.3 create mode 100644 static/openbsd/man3/SSL_SESSION_get_protocol_version.3 create mode 100644 static/openbsd/man3/SSL_SESSION_get_time.3 create mode 100644 static/openbsd/man3/SSL_SESSION_has_ticket.3 create mode 100644 static/openbsd/man3/SSL_SESSION_is_resumable.3 create mode 100644 static/openbsd/man3/SSL_SESSION_new.3 create mode 100644 static/openbsd/man3/SSL_SESSION_print.3 create mode 100644 static/openbsd/man3/SSL_SESSION_set1_id_context.3 create mode 100644 static/openbsd/man3/SSL_accept.3 create mode 100644 static/openbsd/man3/SSL_alert_type_string.3 create mode 100644 static/openbsd/man3/SSL_clear.3 create mode 100644 static/openbsd/man3/SSL_connect.3 create mode 100644 static/openbsd/man3/SSL_copy_session_id.3 create mode 100644 static/openbsd/man3/SSL_do_handshake.3 create mode 100644 static/openbsd/man3/SSL_dup.3 create mode 100644 static/openbsd/man3/SSL_dup_CA_list.3 create mode 100644 static/openbsd/man3/SSL_export_keying_material.3 create mode 100644 static/openbsd/man3/SSL_free.3 create mode 100644 static/openbsd/man3/SSL_get_SSL_CTX.3 create mode 100644 static/openbsd/man3/SSL_get_certificate.3 create mode 100644 static/openbsd/man3/SSL_get_ciphers.3 create mode 100644 static/openbsd/man3/SSL_get_client_CA_list.3 create mode 100644 static/openbsd/man3/SSL_get_client_random.3 create mode 100644 static/openbsd/man3/SSL_get_current_cipher.3 create mode 100644 static/openbsd/man3/SSL_get_default_timeout.3 create mode 100644 static/openbsd/man3/SSL_get_error.3 create mode 100644 static/openbsd/man3/SSL_get_ex_data_X509_STORE_CTX_idx.3 create mode 100644 static/openbsd/man3/SSL_get_ex_new_index.3 create mode 100644 static/openbsd/man3/SSL_get_fd.3 create mode 100644 static/openbsd/man3/SSL_get_finished.3 create mode 100644 static/openbsd/man3/SSL_get_peer_cert_chain.3 create mode 100644 static/openbsd/man3/SSL_get_peer_certificate.3 create mode 100644 static/openbsd/man3/SSL_get_rbio.3 create mode 100644 static/openbsd/man3/SSL_get_server_tmp_key.3 create mode 100644 static/openbsd/man3/SSL_get_session.3 create mode 100644 static/openbsd/man3/SSL_get_shared_ciphers.3 create mode 100644 static/openbsd/man3/SSL_get_state.3 create mode 100644 static/openbsd/man3/SSL_get_verify_result.3 create mode 100644 static/openbsd/man3/SSL_get_version.3 create mode 100644 static/openbsd/man3/SSL_library_init.3 create mode 100644 static/openbsd/man3/SSL_load_client_CA_file.3 create mode 100644 static/openbsd/man3/SSL_new.3 create mode 100644 static/openbsd/man3/SSL_num_renegotiations.3 create mode 100644 static/openbsd/man3/SSL_pending.3 create mode 100644 static/openbsd/man3/SSL_read.3 create mode 100644 static/openbsd/man3/SSL_read_early_data.3 create mode 100644 static/openbsd/man3/SSL_renegotiate.3 create mode 100644 static/openbsd/man3/SSL_rstate_string.3 create mode 100644 static/openbsd/man3/SSL_session_reused.3 create mode 100644 static/openbsd/man3/SSL_set1_host.3 create mode 100644 static/openbsd/man3/SSL_set1_param.3 create mode 100644 static/openbsd/man3/SSL_set_SSL_CTX.3 create mode 100644 static/openbsd/man3/SSL_set_bio.3 create mode 100644 static/openbsd/man3/SSL_set_connect_state.3 create mode 100644 static/openbsd/man3/SSL_set_fd.3 create mode 100644 static/openbsd/man3/SSL_set_max_send_fragment.3 create mode 100644 static/openbsd/man3/SSL_set_psk_use_session_callback.3 create mode 100644 static/openbsd/man3/SSL_set_session.3 create mode 100644 static/openbsd/man3/SSL_set_shutdown.3 create mode 100644 static/openbsd/man3/SSL_set_tmp_ecdh.3 create mode 100644 static/openbsd/man3/SSL_set_verify_result.3 create mode 100644 static/openbsd/man3/SSL_shutdown.3 create mode 100644 static/openbsd/man3/SSL_state_string.3 create mode 100644 static/openbsd/man3/SSL_want.3 create mode 100644 static/openbsd/man3/SSL_write.3 create mode 100644 static/openbsd/man3/STACK_OF.3 create mode 100644 static/openbsd/man3/SipHash24_Init.3 create mode 100644 static/openbsd/man3/TS_REQ_new.3 create mode 100644 static/openbsd/man3/UI_create_method.3 create mode 100644 static/openbsd/man3/UI_get_string_type.3 create mode 100644 static/openbsd/man3/UI_new.3 create mode 100644 static/openbsd/man3/X25519.3 create mode 100644 static/openbsd/man3/X509V3_EXT_get_nid.3 create mode 100644 static/openbsd/man3/X509V3_EXT_print.3 create mode 100644 static/openbsd/man3/X509V3_extensions_print.3 create mode 100644 static/openbsd/man3/X509V3_get_d2i.3 create mode 100644 static/openbsd/man3/X509V3_parse_list.3 create mode 100644 static/openbsd/man3/X509_ALGOR_dup.3 create mode 100644 static/openbsd/man3/X509_ATTRIBUTE_get0_object.3 create mode 100644 static/openbsd/man3/X509_ATTRIBUTE_new.3 create mode 100644 static/openbsd/man3/X509_ATTRIBUTE_set1_object.3 create mode 100644 static/openbsd/man3/X509_CINF_new.3 create mode 100644 static/openbsd/man3/X509_CRL_get0_by_serial.3 create mode 100644 static/openbsd/man3/X509_CRL_new.3 create mode 100644 static/openbsd/man3/X509_CRL_print.3 create mode 100644 static/openbsd/man3/X509_EXTENSION_set_object.3 create mode 100644 static/openbsd/man3/X509_INFO_new.3 create mode 100644 static/openbsd/man3/X509_LOOKUP_hash_dir.3 create mode 100644 static/openbsd/man3/X509_LOOKUP_new.3 create mode 100644 static/openbsd/man3/X509_NAME_ENTRY_get_object.3 create mode 100644 static/openbsd/man3/X509_NAME_add_entry_by_txt.3 create mode 100644 static/openbsd/man3/X509_NAME_get_index_by_NID.3 create mode 100644 static/openbsd/man3/X509_NAME_hash.3 create mode 100644 static/openbsd/man3/X509_NAME_new.3 create mode 100644 static/openbsd/man3/X509_NAME_print_ex.3 create mode 100644 static/openbsd/man3/X509_OBJECT_get0_X509.3 create mode 100644 static/openbsd/man3/X509_PUBKEY_new.3 create mode 100644 static/openbsd/man3/X509_PURPOSE_set.3 create mode 100644 static/openbsd/man3/X509_REQ_add1_attr.3 create mode 100644 static/openbsd/man3/X509_REQ_add_extensions.3 create mode 100644 static/openbsd/man3/X509_REQ_new.3 create mode 100644 static/openbsd/man3/X509_REQ_print_ex.3 create mode 100644 static/openbsd/man3/X509_REVOKED_new.3 create mode 100644 static/openbsd/man3/X509_SIG_get0.3 create mode 100644 static/openbsd/man3/X509_SIG_new.3 create mode 100644 static/openbsd/man3/X509_STORE_CTX_get_error.3 create mode 100644 static/openbsd/man3/X509_STORE_CTX_get_ex_new_index.3 create mode 100644 static/openbsd/man3/X509_STORE_CTX_new.3 create mode 100644 static/openbsd/man3/X509_STORE_CTX_set_flags.3 create mode 100644 static/openbsd/man3/X509_STORE_CTX_set_verify.3 create mode 100644 static/openbsd/man3/X509_STORE_CTX_set_verify_cb.3 create mode 100644 static/openbsd/man3/X509_STORE_get_by_subject.3 create mode 100644 static/openbsd/man3/X509_STORE_load_locations.3 create mode 100644 static/openbsd/man3/X509_STORE_new.3 create mode 100644 static/openbsd/man3/X509_STORE_set1_param.3 create mode 100644 static/openbsd/man3/X509_STORE_set_verify_cb_func.3 create mode 100644 static/openbsd/man3/X509_VERIFY_PARAM_new.3 create mode 100644 static/openbsd/man3/X509_VERIFY_PARAM_set_flags.3 create mode 100644 static/openbsd/man3/X509_add1_trust_object.3 create mode 100644 static/openbsd/man3/X509_check_ca.3 create mode 100644 static/openbsd/man3/X509_check_host.3 create mode 100644 static/openbsd/man3/X509_check_issued.3 create mode 100644 static/openbsd/man3/X509_check_private_key.3 create mode 100644 static/openbsd/man3/X509_check_purpose.3 create mode 100644 static/openbsd/man3/X509_cmp.3 create mode 100644 static/openbsd/man3/X509_cmp_time.3 create mode 100644 static/openbsd/man3/X509_digest.3 create mode 100644 static/openbsd/man3/X509_find_by_subject.3 create mode 100644 static/openbsd/man3/X509_get0_notBefore.3 create mode 100644 static/openbsd/man3/X509_get0_signature.3 create mode 100644 static/openbsd/man3/X509_get1_email.3 create mode 100644 static/openbsd/man3/X509_get_extension_flags.3 create mode 100644 static/openbsd/man3/X509_get_pubkey.3 create mode 100644 static/openbsd/man3/X509_get_pubkey_parameters.3 create mode 100644 static/openbsd/man3/X509_get_serialNumber.3 create mode 100644 static/openbsd/man3/X509_get_subject_name.3 create mode 100644 static/openbsd/man3/X509_get_version.3 create mode 100644 static/openbsd/man3/X509_keyid_set1.3 create mode 100644 static/openbsd/man3/X509_load_cert_file.3 create mode 100644 static/openbsd/man3/X509_new.3 create mode 100644 static/openbsd/man3/X509_ocspid_print.3 create mode 100644 static/openbsd/man3/X509_print_ex.3 create mode 100644 static/openbsd/man3/X509_sign.3 create mode 100644 static/openbsd/man3/X509_signature_dump.3 create mode 100644 static/openbsd/man3/X509_verify_cert.3 create mode 100644 static/openbsd/man3/X509v3_addr_add_inherit.3 create mode 100644 static/openbsd/man3/X509v3_addr_get_range.3 create mode 100644 static/openbsd/man3/X509v3_addr_inherits.3 create mode 100644 static/openbsd/man3/X509v3_addr_subset.3 create mode 100644 static/openbsd/man3/X509v3_addr_validate_path.3 create mode 100644 static/openbsd/man3/X509v3_asid_add_id_or_range.3 create mode 100644 static/openbsd/man3/X509v3_get_ext_by_NID.3 create mode 100644 static/openbsd/man3/__fpending.3 create mode 100644 static/openbsd/man3/__tfork_thread.3 create mode 100644 static/openbsd/man3/a2d_ASN1_OBJECT.3 create mode 100644 static/openbsd/man3/a2i_ipadd.3 create mode 100644 static/openbsd/man3/a64l.3 create mode 100644 static/openbsd/man3/abort.3 create mode 100644 static/openbsd/man3/abs.3 create mode 100644 static/openbsd/man3/acos.3 create mode 100644 static/openbsd/man3/acosh.3 create mode 100644 static/openbsd/man3/agentx.3 create mode 100644 static/openbsd/man3/alarm.3 create mode 100644 static/openbsd/man3/alloca.3 create mode 100644 static/openbsd/man3/arc4random.3 create mode 100644 static/openbsd/man3/asin.3 create mode 100644 static/openbsd/man3/asinh.3 create mode 100644 static/openbsd/man3/asr_run.3 create mode 100644 static/openbsd/man3/atan.3 create mode 100644 static/openbsd/man3/atan2.3 create mode 100644 static/openbsd/man3/atanh.3 create mode 100644 static/openbsd/man3/atexit.3 create mode 100644 static/openbsd/man3/atof.3 create mode 100644 static/openbsd/man3/atoi.3 create mode 100644 static/openbsd/man3/atol.3 create mode 100644 static/openbsd/man3/atoll.3 create mode 100644 static/openbsd/man3/auth_subr.3 create mode 100644 static/openbsd/man3/authenticate.3 create mode 100644 static/openbsd/man3/authnone_create.3 create mode 100644 static/openbsd/man3/backtrace.3 create mode 100644 static/openbsd/man3/basename.3 create mode 100644 static/openbsd/man3/bcmp.3 create mode 100644 static/openbsd/man3/bcopy.3 create mode 100644 static/openbsd/man3/bcrypt_pbkdf.3 create mode 100644 static/openbsd/man3/bindresvport.3 create mode 100644 static/openbsd/man3/blowfish.3 create mode 100644 static/openbsd/man3/bsearch.3 create mode 100644 static/openbsd/man3/btowc.3 create mode 100644 static/openbsd/man3/btree.3 create mode 100644 static/openbsd/man3/bzero.3 create mode 100644 static/openbsd/man3/c16rtomb.3 create mode 100644 static/openbsd/man3/cacheflush.3 create mode 100644 static/openbsd/man3/cacos.3 create mode 100644 static/openbsd/man3/cacosh.3 create mode 100644 static/openbsd/man3/carg.3 create mode 100644 static/openbsd/man3/casin.3 create mode 100644 static/openbsd/man3/casinh.3 create mode 100644 static/openbsd/man3/catan.3 create mode 100644 static/openbsd/man3/catanh.3 create mode 100644 static/openbsd/man3/catclose.3 create mode 100644 static/openbsd/man3/catgets.3 create mode 100644 static/openbsd/man3/catopen.3 create mode 100644 static/openbsd/man3/ccos.3 create mode 100644 static/openbsd/man3/ccosh.3 create mode 100644 static/openbsd/man3/ceil.3 create mode 100644 static/openbsd/man3/cexp.3 create mode 100644 static/openbsd/man3/cgetent.3 create mode 100644 static/openbsd/man3/check_expire.3 create mode 100644 static/openbsd/man3/cimag.3 create mode 100644 static/openbsd/man3/clock.3 create mode 100644 static/openbsd/man3/clock_getcpuclockid.3 create mode 100644 static/openbsd/man3/clog.3 create mode 100644 static/openbsd/man3/compress.3 create mode 100644 static/openbsd/man3/confstr.3 create mode 100644 static/openbsd/man3/conj.3 create mode 100644 static/openbsd/man3/copysign.3 create mode 100644 static/openbsd/man3/cos.3 create mode 100644 static/openbsd/man3/cosh.3 create mode 100644 static/openbsd/man3/cpow.3 create mode 100644 static/openbsd/man3/cproj.3 create mode 100644 static/openbsd/man3/creal.3 create mode 100644 static/openbsd/man3/creat.3 create mode 100644 static/openbsd/man3/crypt.3 create mode 100644 static/openbsd/man3/crypt_checkpass.3 create mode 100644 static/openbsd/man3/crypto.3 create mode 100644 static/openbsd/man3/csh.3 create mode 100644 static/openbsd/man3/csin.3 create mode 100644 static/openbsd/man3/csinh.3 create mode 100644 static/openbsd/man3/csqrt.3 create mode 100644 static/openbsd/man3/ctan.3 create mode 100644 static/openbsd/man3/ctanh.3 create mode 100644 static/openbsd/man3/ctermid.3 create mode 100644 static/openbsd/man3/ctime.3 create mode 100644 static/openbsd/man3/curs_add_wch.3 create mode 100644 static/openbsd/man3/curs_add_wchstr.3 create mode 100644 static/openbsd/man3/curs_addch.3 create mode 100644 static/openbsd/man3/curs_addchstr.3 create mode 100644 static/openbsd/man3/curs_addstr.3 create mode 100644 static/openbsd/man3/curs_addwstr.3 create mode 100644 static/openbsd/man3/curs_attr.3 create mode 100644 static/openbsd/man3/curs_beep.3 create mode 100644 static/openbsd/man3/curs_bkgd.3 create mode 100644 static/openbsd/man3/curs_bkgrnd.3 create mode 100644 static/openbsd/man3/curs_border.3 create mode 100644 static/openbsd/man3/curs_border_set.3 create mode 100644 static/openbsd/man3/curs_clear.3 create mode 100644 static/openbsd/man3/curs_color.3 create mode 100644 static/openbsd/man3/curs_delch.3 create mode 100644 static/openbsd/man3/curs_deleteln.3 create mode 100644 static/openbsd/man3/curs_extend.3 create mode 100644 static/openbsd/man3/curs_get_wch.3 create mode 100644 static/openbsd/man3/curs_get_wstr.3 create mode 100644 static/openbsd/man3/curs_getcchar.3 create mode 100644 static/openbsd/man3/curs_getch.3 create mode 100644 static/openbsd/man3/curs_getstr.3 create mode 100644 static/openbsd/man3/curs_getyx.3 create mode 100644 static/openbsd/man3/curs_in_wch.3 create mode 100644 static/openbsd/man3/curs_in_wchstr.3 create mode 100644 static/openbsd/man3/curs_inch.3 create mode 100644 static/openbsd/man3/curs_inchstr.3 create mode 100644 static/openbsd/man3/curs_initscr.3 create mode 100644 static/openbsd/man3/curs_inopts.3 create mode 100644 static/openbsd/man3/curs_ins_wch.3 create mode 100644 static/openbsd/man3/curs_ins_wstr.3 create mode 100644 static/openbsd/man3/curs_insch.3 create mode 100644 static/openbsd/man3/curs_insstr.3 create mode 100644 static/openbsd/man3/curs_instr.3 create mode 100644 static/openbsd/man3/curs_inwstr.3 create mode 100644 static/openbsd/man3/curs_kernel.3 create mode 100644 static/openbsd/man3/curs_legacy.3 create mode 100644 static/openbsd/man3/curs_memleaks.3 create mode 100644 static/openbsd/man3/curs_mouse.3 create mode 100644 static/openbsd/man3/curs_move.3 create mode 100644 static/openbsd/man3/curs_opaque.3 create mode 100644 static/openbsd/man3/curs_outopts.3 create mode 100644 static/openbsd/man3/curs_overlay.3 create mode 100644 static/openbsd/man3/curs_pad.3 create mode 100644 static/openbsd/man3/curs_print.3 create mode 100644 static/openbsd/man3/curs_printw.3 create mode 100644 static/openbsd/man3/curs_refresh.3 create mode 100644 static/openbsd/man3/curs_scanw.3 create mode 100644 static/openbsd/man3/curs_scr_dump.3 create mode 100644 static/openbsd/man3/curs_scroll.3 create mode 100644 static/openbsd/man3/curs_slk.3 create mode 100644 static/openbsd/man3/curs_sp_funcs.3 create mode 100644 static/openbsd/man3/curs_termattrs.3 create mode 100644 static/openbsd/man3/curs_threads.3 create mode 100644 static/openbsd/man3/curs_touch.3 create mode 100644 static/openbsd/man3/curs_util.3 create mode 100644 static/openbsd/man3/curs_variables.3 create mode 100644 static/openbsd/man3/curs_window.3 create mode 100644 static/openbsd/man3/curses.3 create mode 100644 static/openbsd/man3/d2i_ASN1_NULL.3 create mode 100644 static/openbsd/man3/d2i_ASN1_OBJECT.3 create mode 100644 static/openbsd/man3/d2i_ASN1_OCTET_STRING.3 create mode 100644 static/openbsd/man3/d2i_ASN1_SEQUENCE_ANY.3 create mode 100644 static/openbsd/man3/d2i_AUTHORITY_KEYID.3 create mode 100644 static/openbsd/man3/d2i_BASIC_CONSTRAINTS.3 create mode 100644 static/openbsd/man3/d2i_CMS_ContentInfo.3 create mode 100644 static/openbsd/man3/d2i_DHparams.3 create mode 100644 static/openbsd/man3/d2i_DIST_POINT.3 create mode 100644 static/openbsd/man3/d2i_DSAPublicKey.3 create mode 100644 static/openbsd/man3/d2i_ECPKParameters.3 create mode 100644 static/openbsd/man3/d2i_ESS_SIGNING_CERT.3 create mode 100644 static/openbsd/man3/d2i_GENERAL_NAME.3 create mode 100644 static/openbsd/man3/d2i_OCSP_REQUEST.3 create mode 100644 static/openbsd/man3/d2i_OCSP_RESPONSE.3 create mode 100644 static/openbsd/man3/d2i_PKCS12.3 create mode 100644 static/openbsd/man3/d2i_PKCS7.3 create mode 100644 static/openbsd/man3/d2i_PKCS8PrivateKey_bio.3 create mode 100644 static/openbsd/man3/d2i_PKCS8_PRIV_KEY_INFO.3 create mode 100644 static/openbsd/man3/d2i_PKEY_USAGE_PERIOD.3 create mode 100644 static/openbsd/man3/d2i_POLICYINFO.3 create mode 100644 static/openbsd/man3/d2i_PrivateKey.3 create mode 100644 static/openbsd/man3/d2i_RSAPublicKey.3 create mode 100644 static/openbsd/man3/d2i_SSL_SESSION.3 create mode 100644 static/openbsd/man3/d2i_TS_REQ.3 create mode 100644 static/openbsd/man3/d2i_X509.3 create mode 100644 static/openbsd/man3/d2i_X509_ALGOR.3 create mode 100644 static/openbsd/man3/d2i_X509_ATTRIBUTE.3 create mode 100644 static/openbsd/man3/d2i_X509_CRL.3 create mode 100644 static/openbsd/man3/d2i_X509_EXTENSION.3 create mode 100644 static/openbsd/man3/d2i_X509_NAME.3 create mode 100644 static/openbsd/man3/d2i_X509_REQ.3 create mode 100644 static/openbsd/man3/d2i_X509_SIG.3 create mode 100644 static/openbsd/man3/daemon.3 create mode 100644 static/openbsd/man3/dbopen.3 create mode 100644 static/openbsd/man3/default_colors.3 create mode 100644 static/openbsd/man3/define_key.3 create mode 100644 static/openbsd/man3/des_read_pw.3 create mode 100644 static/openbsd/man3/devname.3 create mode 100644 static/openbsd/man3/dirname.3 create mode 100644 static/openbsd/man3/div.3 create mode 100644 static/openbsd/man3/ecvt.3 create mode 100644 static/openbsd/man3/eddsa_pk_new.3 create mode 100644 static/openbsd/man3/editline.3 create mode 100644 static/openbsd/man3/elf.3 create mode 100644 static/openbsd/man3/elf_aux_info.3 create mode 100644 static/openbsd/man3/elf_begin.3 create mode 100644 static/openbsd/man3/elf_cntl.3 create mode 100644 static/openbsd/man3/elf_end.3 create mode 100644 static/openbsd/man3/elf_errmsg.3 create mode 100644 static/openbsd/man3/elf_fill.3 create mode 100644 static/openbsd/man3/elf_flagdata.3 create mode 100644 static/openbsd/man3/elf_getarhdr.3 create mode 100644 static/openbsd/man3/elf_getarsym.3 create mode 100644 static/openbsd/man3/elf_getbase.3 create mode 100644 static/openbsd/man3/elf_getdata.3 create mode 100644 static/openbsd/man3/elf_getident.3 create mode 100644 static/openbsd/man3/elf_getphdrnum.3 create mode 100644 static/openbsd/man3/elf_getphnum.3 create mode 100644 static/openbsd/man3/elf_getscn.3 create mode 100644 static/openbsd/man3/elf_getshdrnum.3 create mode 100644 static/openbsd/man3/elf_getshdrstrndx.3 create mode 100644 static/openbsd/man3/elf_getshnum.3 create mode 100644 static/openbsd/man3/elf_getshstrndx.3 create mode 100644 static/openbsd/man3/elf_hash.3 create mode 100644 static/openbsd/man3/elf_kind.3 create mode 100644 static/openbsd/man3/elf_memory.3 create mode 100644 static/openbsd/man3/elf_next.3 create mode 100644 static/openbsd/man3/elf_open.3 create mode 100644 static/openbsd/man3/elf_rand.3 create mode 100644 static/openbsd/man3/elf_rawfile.3 create mode 100644 static/openbsd/man3/elf_strptr.3 create mode 100644 static/openbsd/man3/elf_update.3 create mode 100644 static/openbsd/man3/elf_version.3 create mode 100644 static/openbsd/man3/erf.3 create mode 100644 static/openbsd/man3/err.3 create mode 100644 static/openbsd/man3/es256_pk_new.3 create mode 100644 static/openbsd/man3/ether_aton.3 create mode 100644 static/openbsd/man3/evbuffer_new.3 create mode 100644 static/openbsd/man3/event.3 create mode 100644 static/openbsd/man3/event_base_loop.3 create mode 100644 static/openbsd/man3/event_base_new.3 create mode 100644 static/openbsd/man3/event_set.3 create mode 100644 static/openbsd/man3/event_set_log_callback.3 create mode 100644 static/openbsd/man3/evp.3 create mode 100644 static/openbsd/man3/execv.3 create mode 100644 static/openbsd/man3/exit.3 create mode 100644 static/openbsd/man3/exp.3 create mode 100644 static/openbsd/man3/fabs.3 create mode 100644 static/openbsd/man3/fclose.3 create mode 100644 static/openbsd/man3/fdim.3 create mode 100644 static/openbsd/man3/feclearexcept.3 create mode 100644 static/openbsd/man3/feenableexcept.3 create mode 100644 static/openbsd/man3/fegetenv.3 create mode 100644 static/openbsd/man3/fegetround.3 create mode 100644 static/openbsd/man3/ferror.3 create mode 100644 static/openbsd/man3/fflush.3 create mode 100644 static/openbsd/man3/ffs.3 create mode 100644 static/openbsd/man3/fgetln.3 create mode 100644 static/openbsd/man3/fgets.3 create mode 100644 static/openbsd/man3/fgetwln.3 create mode 100644 static/openbsd/man3/fgetws.3 create mode 100644 static/openbsd/man3/fido_assert_allow_cred.3 create mode 100644 static/openbsd/man3/fido_assert_new.3 create mode 100644 static/openbsd/man3/fido_assert_set_authdata.3 create mode 100644 static/openbsd/man3/fido_assert_verify.3 create mode 100644 static/openbsd/man3/fido_bio_dev_get_info.3 create mode 100644 static/openbsd/man3/fido_bio_enroll_new.3 create mode 100644 static/openbsd/man3/fido_bio_info_new.3 create mode 100644 static/openbsd/man3/fido_bio_template.3 create mode 100644 static/openbsd/man3/fido_cbor_info_new.3 create mode 100644 static/openbsd/man3/fido_cred_exclude.3 create mode 100644 static/openbsd/man3/fido_cred_new.3 create mode 100644 static/openbsd/man3/fido_cred_set_authdata.3 create mode 100644 static/openbsd/man3/fido_cred_verify.3 create mode 100644 static/openbsd/man3/fido_credman_metadata_new.3 create mode 100644 static/openbsd/man3/fido_dev_enable_entattest.3 create mode 100644 static/openbsd/man3/fido_dev_get_assert.3 create mode 100644 static/openbsd/man3/fido_dev_get_touch_begin.3 create mode 100644 static/openbsd/man3/fido_dev_info_manifest.3 create mode 100644 static/openbsd/man3/fido_dev_largeblob_get.3 create mode 100644 static/openbsd/man3/fido_dev_make_cred.3 create mode 100644 static/openbsd/man3/fido_dev_open.3 create mode 100644 static/openbsd/man3/fido_dev_set_io_functions.3 create mode 100644 static/openbsd/man3/fido_dev_set_pin.3 create mode 100644 static/openbsd/man3/fido_init.3 create mode 100644 static/openbsd/man3/fido_strerr.3 create mode 100644 static/openbsd/man3/flockfile.3 create mode 100644 static/openbsd/man3/floor.3 create mode 100644 static/openbsd/man3/fma.3 create mode 100644 static/openbsd/man3/fmax.3 create mode 100644 static/openbsd/man3/fmemopen.3 create mode 100644 static/openbsd/man3/fmod.3 create mode 100644 static/openbsd/man3/fmt_scaled.3 create mode 100644 static/openbsd/man3/fn.3 create mode 100644 static/openbsd/man3/fnmatch.3 create mode 100644 static/openbsd/man3/fopen.3 create mode 100644 static/openbsd/man3/form.3 create mode 100644 static/openbsd/man3/form_cursor.3 create mode 100644 static/openbsd/man3/form_data.3 create mode 100644 static/openbsd/man3/form_driver.3 create mode 100644 static/openbsd/man3/form_field.3 create mode 100644 static/openbsd/man3/form_field_attributes.3 create mode 100644 static/openbsd/man3/form_field_buffer.3 create mode 100644 static/openbsd/man3/form_field_info.3 create mode 100644 static/openbsd/man3/form_field_just.3 create mode 100644 static/openbsd/man3/form_field_new.3 create mode 100644 static/openbsd/man3/form_field_opts.3 create mode 100644 static/openbsd/man3/form_field_userptr.3 create mode 100644 static/openbsd/man3/form_field_validation.3 create mode 100644 static/openbsd/man3/form_fieldtype.3 create mode 100644 static/openbsd/man3/form_hook.3 create mode 100644 static/openbsd/man3/form_new.3 create mode 100644 static/openbsd/man3/form_new_page.3 create mode 100644 static/openbsd/man3/form_opts.3 create mode 100644 static/openbsd/man3/form_page.3 create mode 100644 static/openbsd/man3/form_post.3 create mode 100644 static/openbsd/man3/form_requestname.3 create mode 100644 static/openbsd/man3/form_userptr.3 create mode 100644 static/openbsd/man3/form_variables.3 create mode 100644 static/openbsd/man3/form_win.3 create mode 100644 static/openbsd/man3/fparseln.3 create mode 100644 static/openbsd/man3/fpclassify.3 create mode 100644 static/openbsd/man3/fpgetmask.3 create mode 100644 static/openbsd/man3/fputs.3 create mode 100644 static/openbsd/man3/fputws.3 create mode 100644 static/openbsd/man3/fread.3 create mode 100644 static/openbsd/man3/frexp.3 create mode 100644 static/openbsd/man3/fseek.3 create mode 100644 static/openbsd/man3/ftok.3 create mode 100644 static/openbsd/man3/fts_open.3 create mode 100644 static/openbsd/man3/ftw.3 create mode 100644 static/openbsd/man3/funopen.3 create mode 100644 static/openbsd/man3/fuse_chan_fd.3 create mode 100644 static/openbsd/man3/fuse_daemonize.3 create mode 100644 static/openbsd/man3/fuse_destroy.3 create mode 100644 static/openbsd/man3/fuse_get_context.3 create mode 100644 static/openbsd/man3/fuse_get_session.3 create mode 100644 static/openbsd/man3/fuse_loop.3 create mode 100644 static/openbsd/man3/fuse_lowlevel_new.3 create mode 100644 static/openbsd/man3/fuse_main.3 create mode 100644 static/openbsd/man3/fuse_mount.3 create mode 100644 static/openbsd/man3/fuse_new.3 create mode 100644 static/openbsd/man3/fuse_opt.3 create mode 100644 static/openbsd/man3/fuse_parse_cmdline.3 create mode 100644 static/openbsd/man3/fuse_reply_err.3 create mode 100644 static/openbsd/man3/fuse_session_loop.3 create mode 100644 static/openbsd/man3/fuse_set_signal_handlers.3 create mode 100644 static/openbsd/man3/fuse_setup.3 create mode 100644 static/openbsd/man3/fuse_teardown.3 create mode 100644 static/openbsd/man3/fuse_version.3 create mode 100644 static/openbsd/man3/fwide.3 create mode 100644 static/openbsd/man3/gai_strerror.3 create mode 100644 static/openbsd/man3/gelf.3 create mode 100644 static/openbsd/man3/gelf_checksum.3 create mode 100644 static/openbsd/man3/gelf_fsize.3 create mode 100644 static/openbsd/man3/gelf_getcap.3 create mode 100644 static/openbsd/man3/gelf_getclass.3 create mode 100644 static/openbsd/man3/gelf_getdyn.3 create mode 100644 static/openbsd/man3/gelf_getehdr.3 create mode 100644 static/openbsd/man3/gelf_getmove.3 create mode 100644 static/openbsd/man3/gelf_getphdr.3 create mode 100644 static/openbsd/man3/gelf_getrel.3 create mode 100644 static/openbsd/man3/gelf_getrela.3 create mode 100644 static/openbsd/man3/gelf_getshdr.3 create mode 100644 static/openbsd/man3/gelf_getsym.3 create mode 100644 static/openbsd/man3/gelf_getsyminfo.3 create mode 100644 static/openbsd/man3/gelf_getsymshndx.3 create mode 100644 static/openbsd/man3/gelf_newehdr.3 create mode 100644 static/openbsd/man3/gelf_newphdr.3 create mode 100644 static/openbsd/man3/gelf_update_ehdr.3 create mode 100644 static/openbsd/man3/gelf_xlatetof.3 create mode 100644 static/openbsd/man3/get_fpc_csr.3 create mode 100644 static/openbsd/man3/getaddrinfo.3 create mode 100644 static/openbsd/man3/getbsize.3 create mode 100644 static/openbsd/man3/getc.3 create mode 100644 static/openbsd/man3/getcwd.3 create mode 100644 static/openbsd/man3/getdelim.3 create mode 100644 static/openbsd/man3/getdiskbyname.3 create mode 100644 static/openbsd/man3/getdomainname.3 create mode 100644 static/openbsd/man3/getdtablesize.3 create mode 100644 static/openbsd/man3/getenv.3 create mode 100644 static/openbsd/man3/getfsent.3 create mode 100644 static/openbsd/man3/getgrent.3 create mode 100644 static/openbsd/man3/getgrouplist.3 create mode 100644 static/openbsd/man3/gethostbyname.3 create mode 100644 static/openbsd/man3/gethostid.3 create mode 100644 static/openbsd/man3/gethostname.3 create mode 100644 static/openbsd/man3/getifaddrs.3 create mode 100644 static/openbsd/man3/getloadavg.3 create mode 100644 static/openbsd/man3/getmaxpartitions.3 create mode 100644 static/openbsd/man3/getmntinfo.3 create mode 100644 static/openbsd/man3/getnameinfo.3 create mode 100644 static/openbsd/man3/getnetent.3 create mode 100644 static/openbsd/man3/getnetgrent.3 create mode 100644 static/openbsd/man3/getopt.3 create mode 100644 static/openbsd/man3/getopt_long.3 create mode 100644 static/openbsd/man3/getpagesize.3 create mode 100644 static/openbsd/man3/getpass.3 create mode 100644 static/openbsd/man3/getpeereid.3 create mode 100644 static/openbsd/man3/getprogname.3 create mode 100644 static/openbsd/man3/getprotoent.3 create mode 100644 static/openbsd/man3/getpwent.3 create mode 100644 static/openbsd/man3/getpwnam.3 create mode 100644 static/openbsd/man3/getrawpartition.3 create mode 100644 static/openbsd/man3/getrpcent.3 create mode 100644 static/openbsd/man3/getrpcport.3 create mode 100644 static/openbsd/man3/getrrsetbyname.3 create mode 100644 static/openbsd/man3/getservent.3 create mode 100644 static/openbsd/man3/getsubopt.3 create mode 100644 static/openbsd/man3/getttyent.3 create mode 100644 static/openbsd/man3/getusershell.3 create mode 100644 static/openbsd/man3/getwc.3 create mode 100644 static/openbsd/man3/glob.3 create mode 100644 static/openbsd/man3/hash.3 create mode 100644 static/openbsd/man3/hcreate.3 create mode 100644 static/openbsd/man3/history.3 create mode 100644 static/openbsd/man3/htobe64.3 create mode 100644 static/openbsd/man3/htonl.3 create mode 100644 static/openbsd/man3/hypot.3 create mode 100644 static/openbsd/man3/i2a_ASN1_STRING.3 create mode 100644 static/openbsd/man3/i2d_CMS_bio_stream.3 create mode 100644 static/openbsd/man3/i2d_PKCS7_bio_stream.3 create mode 100644 static/openbsd/man3/ibuf_add.3 create mode 100644 static/openbsd/man3/icdb_new.3 create mode 100644 static/openbsd/man3/if_indextoname.3 create mode 100644 static/openbsd/man3/ilogb.3 create mode 100644 static/openbsd/man3/imaxabs.3 create mode 100644 static/openbsd/man3/imaxdiv.3 create mode 100644 static/openbsd/man3/imsg_init.3 create mode 100644 static/openbsd/man3/in.3 create mode 100644 static/openbsd/man3/inet6_opt_init.3 create mode 100644 static/openbsd/man3/inet6_rth_space.3 create mode 100644 static/openbsd/man3/inet_addr.3 create mode 100644 static/openbsd/man3/inet_lnaof.3 create mode 100644 static/openbsd/man3/inet_net_ntop.3 create mode 100644 static/openbsd/man3/inet_ntop.3 create mode 100644 static/openbsd/man3/initgroups.3 create mode 100644 static/openbsd/man3/insque.3 create mode 100644 static/openbsd/man3/isalnum.3 create mode 100644 static/openbsd/man3/isalpha.3 create mode 100644 static/openbsd/man3/isascii.3 create mode 100644 static/openbsd/man3/isblank.3 create mode 100644 static/openbsd/man3/iscntrl.3 create mode 100644 static/openbsd/man3/isdigit.3 create mode 100644 static/openbsd/man3/isduid.3 create mode 100644 static/openbsd/man3/isfdtype.3 create mode 100644 static/openbsd/man3/isgraph.3 create mode 100644 static/openbsd/man3/isgreater.3 create mode 100644 static/openbsd/man3/islower.3 create mode 100644 static/openbsd/man3/isprint.3 create mode 100644 static/openbsd/man3/ispunct.3 create mode 100644 static/openbsd/man3/isspace.3 create mode 100644 static/openbsd/man3/isupper.3 create mode 100644 static/openbsd/man3/iswalnum.3 create mode 100644 static/openbsd/man3/iswctype.3 create mode 100644 static/openbsd/man3/isxdigit.3 create mode 100644 static/openbsd/man3/j0.3 create mode 100644 static/openbsd/man3/key_defined.3 create mode 100644 static/openbsd/man3/keybound.3 create mode 100644 static/openbsd/man3/keynote.3 create mode 100644 static/openbsd/man3/keyok.3 create mode 100644 static/openbsd/man3/killpg.3 create mode 100644 static/openbsd/man3/kvm.3 create mode 100644 static/openbsd/man3/kvm_dump.3 create mode 100644 static/openbsd/man3/kvm_geterr.3 create mode 100644 static/openbsd/man3/kvm_getfiles.3 create mode 100644 static/openbsd/man3/kvm_getloadavg.3 create mode 100644 static/openbsd/man3/kvm_getprocs.3 create mode 100644 static/openbsd/man3/kvm_nlist.3 create mode 100644 static/openbsd/man3/kvm_open.3 create mode 100644 static/openbsd/man3/kvm_read.3 create mode 100644 static/openbsd/man3/labs.3 create mode 100644 static/openbsd/man3/ldexp.3 create mode 100644 static/openbsd/man3/ldiv.3 create mode 100644 static/openbsd/man3/legacy_coding.3 create mode 100644 static/openbsd/man3/lgamma.3 create mode 100644 static/openbsd/man3/lh_new.3 create mode 100644 static/openbsd/man3/link_ntoa.3 create mode 100644 static/openbsd/man3/lldiv.3 create mode 100644 static/openbsd/man3/localeconv.3 create mode 100644 static/openbsd/man3/lockf.3 create mode 100644 static/openbsd/man3/logb.3 create mode 100644 static/openbsd/man3/login.3 create mode 100644 static/openbsd/man3/login_cap.3 create mode 100644 static/openbsd/man3/login_fbtab.3 create mode 100644 static/openbsd/man3/lrint.3 create mode 100644 static/openbsd/man3/lround.3 create mode 100644 static/openbsd/man3/lsearch.3 create mode 100644 static/openbsd/man3/malloc.3 create mode 100644 static/openbsd/man3/mblen.3 create mode 100644 static/openbsd/man3/mbrlen.3 create mode 100644 static/openbsd/man3/mbrtoc16.3 create mode 100644 static/openbsd/man3/mbrtowc.3 create mode 100644 static/openbsd/man3/mbsinit.3 create mode 100644 static/openbsd/man3/mbsrtowcs.3 create mode 100644 static/openbsd/man3/mbstowcs.3 create mode 100644 static/openbsd/man3/mbtowc.3 create mode 100644 static/openbsd/man3/memccpy.3 create mode 100644 static/openbsd/man3/memchr.3 create mode 100644 static/openbsd/man3/memcmp.3 create mode 100644 static/openbsd/man3/memcpy.3 create mode 100644 static/openbsd/man3/memmem.3 create mode 100644 static/openbsd/man3/memmove.3 create mode 100644 static/openbsd/man3/memset.3 create mode 100644 static/openbsd/man3/menu.3 create mode 100644 static/openbsd/man3/menu_attributes.3 create mode 100644 static/openbsd/man3/menu_cursor.3 create mode 100644 static/openbsd/man3/menu_driver.3 create mode 100644 static/openbsd/man3/menu_format.3 create mode 100644 static/openbsd/man3/menu_hook.3 create mode 100644 static/openbsd/man3/menu_items.3 create mode 100644 static/openbsd/man3/menu_mark.3 create mode 100644 static/openbsd/man3/menu_new.3 create mode 100644 static/openbsd/man3/menu_opts.3 create mode 100644 static/openbsd/man3/menu_pattern.3 create mode 100644 static/openbsd/man3/menu_post.3 create mode 100644 static/openbsd/man3/menu_requestname.3 create mode 100644 static/openbsd/man3/menu_spacing.3 create mode 100644 static/openbsd/man3/menu_userptr.3 create mode 100644 static/openbsd/man3/menu_win.3 create mode 100644 static/openbsd/man3/mio_open.3 create mode 100644 static/openbsd/man3/mitem_current.3 create mode 100644 static/openbsd/man3/mitem_name.3 create mode 100644 static/openbsd/man3/mitem_new.3 create mode 100644 static/openbsd/man3/mitem_opts.3 create mode 100644 static/openbsd/man3/mitem_userptr.3 create mode 100644 static/openbsd/man3/mitem_value.3 create mode 100644 static/openbsd/man3/mitem_visible.3 create mode 100644 static/openbsd/man3/mktemp.3 create mode 100644 static/openbsd/man3/modf.3 create mode 100644 static/openbsd/man3/moncontrol.3 create mode 100644 static/openbsd/man3/nan.3 create mode 100644 static/openbsd/man3/ndbm.3 create mode 100644 static/openbsd/man3/new_pair.3 create mode 100644 static/openbsd/man3/newlocale.3 create mode 100644 static/openbsd/man3/nextafter.3 create mode 100644 static/openbsd/man3/nice.3 create mode 100644 static/openbsd/man3/nl_langinfo.3 create mode 100644 static/openbsd/man3/nlist.3 create mode 100644 static/openbsd/man3/ober_add_string.3 create mode 100644 static/openbsd/man3/ober_get_string.3 create mode 100644 static/openbsd/man3/ober_oid_cmp.3 create mode 100644 static/openbsd/man3/ober_read_elements.3 create mode 100644 static/openbsd/man3/ober_set_header.3 create mode 100644 static/openbsd/man3/ohash_init.3 create mode 100644 static/openbsd/man3/ohash_interval.3 create mode 100644 static/openbsd/man3/open_memstream.3 create mode 100644 static/openbsd/man3/opendev.3 create mode 100644 static/openbsd/man3/opendir.3 create mode 100644 static/openbsd/man3/opendisk.3 create mode 100644 static/openbsd/man3/openpty.3 create mode 100644 static/openbsd/man3/ossaudio.3 create mode 100644 static/openbsd/man3/panel.3 create mode 100644 static/openbsd/man3/pause.3 create mode 100644 static/openbsd/man3/pcap_open_live.3 create mode 100644 static/openbsd/man3/perror.3 create mode 100644 static/openbsd/man3/pidfile.3 create mode 100644 static/openbsd/man3/pkcs5_pbkdf2.3 create mode 100644 static/openbsd/man3/popen.3 create mode 100644 static/openbsd/man3/posix_memalign.3 create mode 100644 static/openbsd/man3/posix_openpt.3 create mode 100644 static/openbsd/man3/posix_spawn.3 create mode 100644 static/openbsd/man3/posix_spawn_file_actions_addopen.3 create mode 100644 static/openbsd/man3/posix_spawn_file_actions_init.3 create mode 100644 static/openbsd/man3/posix_spawnattr_getflags.3 create mode 100644 static/openbsd/man3/posix_spawnattr_getpgroup.3 create mode 100644 static/openbsd/man3/posix_spawnattr_init.3 create mode 100644 static/openbsd/man3/printf.3 create mode 100644 static/openbsd/man3/psignal.3 create mode 100644 static/openbsd/man3/pthread_atfork.3 create mode 100644 static/openbsd/man3/pthread_attr_init.3 create mode 100644 static/openbsd/man3/pthread_attr_setdetachstate.3 create mode 100644 static/openbsd/man3/pthread_attr_setguardsize.3 create mode 100644 static/openbsd/man3/pthread_attr_setstack.3 create mode 100644 static/openbsd/man3/pthread_attr_setstackaddr.3 create mode 100644 static/openbsd/man3/pthread_attr_setstacksize.3 create mode 100644 static/openbsd/man3/pthread_barrier_init.3 create mode 100644 static/openbsd/man3/pthread_barrier_wait.3 create mode 100644 static/openbsd/man3/pthread_barrierattr_getpshared.3 create mode 100644 static/openbsd/man3/pthread_barrierattr_init.3 create mode 100644 static/openbsd/man3/pthread_cancel.3 create mode 100644 static/openbsd/man3/pthread_cleanup_pop.3 create mode 100644 static/openbsd/man3/pthread_cleanup_push.3 create mode 100644 static/openbsd/man3/pthread_cond_init.3 create mode 100644 static/openbsd/man3/pthread_condattr_init.3 create mode 100644 static/openbsd/man3/pthread_create.3 create mode 100644 static/openbsd/man3/pthread_detach.3 create mode 100644 static/openbsd/man3/pthread_equal.3 create mode 100644 static/openbsd/man3/pthread_exit.3 create mode 100644 static/openbsd/man3/pthread_getconcurrency.3 create mode 100644 static/openbsd/man3/pthread_getcpuclockid.3 create mode 100644 static/openbsd/man3/pthread_getspecific.3 create mode 100644 static/openbsd/man3/pthread_join.3 create mode 100644 static/openbsd/man3/pthread_key_create.3 create mode 100644 static/openbsd/man3/pthread_key_delete.3 create mode 100644 static/openbsd/man3/pthread_kill.3 create mode 100644 static/openbsd/man3/pthread_main_np.3 create mode 100644 static/openbsd/man3/pthread_mutex_init.3 create mode 100644 static/openbsd/man3/pthread_mutexattr.3 create mode 100644 static/openbsd/man3/pthread_once.3 create mode 100644 static/openbsd/man3/pthread_rwlock_init.3 create mode 100644 static/openbsd/man3/pthread_rwlockattr_destroy.3 create mode 100644 static/openbsd/man3/pthread_rwlockattr_getpshared.3 create mode 100644 static/openbsd/man3/pthread_rwlockattr_init.3 create mode 100644 static/openbsd/man3/pthread_rwlockattr_setpshared.3 create mode 100644 static/openbsd/man3/pthread_schedparam.3 create mode 100644 static/openbsd/man3/pthread_self.3 create mode 100644 static/openbsd/man3/pthread_set_name_np.3 create mode 100644 static/openbsd/man3/pthread_setspecific.3 create mode 100644 static/openbsd/man3/pthread_sigmask.3 create mode 100644 static/openbsd/man3/pthread_spin_init.3 create mode 100644 static/openbsd/man3/pthread_spin_lock.3 create mode 100644 static/openbsd/man3/pthread_spin_unlock.3 create mode 100644 static/openbsd/man3/pthread_stackseg_np.3 create mode 100644 static/openbsd/man3/pthread_testcancel.3 create mode 100644 static/openbsd/man3/pthread_yield.3 create mode 100644 static/openbsd/man3/pthreads.3 create mode 100644 static/openbsd/man3/ptsname.3 create mode 100644 static/openbsd/man3/putc.3 create mode 100644 static/openbsd/man3/putwc.3 create mode 100644 static/openbsd/man3/pw_dup.3 create mode 100644 static/openbsd/man3/pw_init.3 create mode 100644 static/openbsd/man3/pw_lock.3 create mode 100644 static/openbsd/man3/qsort.3 create mode 100644 static/openbsd/man3/radius_new_request_packet.3 create mode 100644 static/openbsd/man3/radixsort.3 create mode 100644 static/openbsd/man3/raise.3 create mode 100644 static/openbsd/man3/rand.3 create mode 100644 static/openbsd/man3/rand48.3 create mode 100644 static/openbsd/man3/random.3 create mode 100644 static/openbsd/man3/rcmd.3 create mode 100644 static/openbsd/man3/rcmdsh.3 create mode 100644 static/openbsd/man3/readlabelfs.3 create mode 100644 static/openbsd/man3/readline.3 create mode 100644 static/openbsd/man3/readpassphrase.3 create mode 100644 static/openbsd/man3/realpath.3 create mode 100644 static/openbsd/man3/recno.3 create mode 100644 static/openbsd/man3/regex.3 create mode 100644 static/openbsd/man3/remainder.3 create mode 100644 static/openbsd/man3/remove.3 create mode 100644 static/openbsd/man3/res_init.3 create mode 100644 static/openbsd/man3/resizeterm.3 create mode 100644 static/openbsd/man3/rint.3 create mode 100644 static/openbsd/man3/round.3 create mode 100644 static/openbsd/man3/rpc.3 create mode 100644 static/openbsd/man3/rs256_pk_new.3 create mode 100644 static/openbsd/man3/s2i_ASN1_INTEGER.3 create mode 100644 static/openbsd/man3/scalbn.3 create mode 100644 static/openbsd/man3/scandir.3 create mode 100644 static/openbsd/man3/scanf.3 create mode 100644 static/openbsd/man3/sched_get_priority_min.3 create mode 100644 static/openbsd/man3/sdbm.3 create mode 100644 static/openbsd/man3/sem_destroy.3 create mode 100644 static/openbsd/man3/sem_getvalue.3 create mode 100644 static/openbsd/man3/sem_init.3 create mode 100644 static/openbsd/man3/sem_open.3 create mode 100644 static/openbsd/man3/sem_post.3 create mode 100644 static/openbsd/man3/sem_wait.3 create mode 100644 static/openbsd/man3/setbuf.3 create mode 100644 static/openbsd/man3/setjmp.3 create mode 100644 static/openbsd/man3/setlocale.3 create mode 100644 static/openbsd/man3/setmode.3 create mode 100644 static/openbsd/man3/setproctitle.3 create mode 100644 static/openbsd/man3/setvbuf.3 create mode 100644 static/openbsd/man3/shm_open.3 create mode 100644 static/openbsd/man3/sigaddset.3 create mode 100644 static/openbsd/man3/sigblock.3 create mode 100644 static/openbsd/man3/siginterrupt.3 create mode 100644 static/openbsd/man3/signal.3 create mode 100644 static/openbsd/man3/sigpause.3 create mode 100644 static/openbsd/man3/sigsetmask.3 create mode 100644 static/openbsd/man3/sigvec.3 create mode 100644 static/openbsd/man3/sigwait.3 create mode 100644 static/openbsd/man3/sin.3 create mode 100644 static/openbsd/man3/sincos.3 create mode 100644 static/openbsd/man3/sinh.3 create mode 100644 static/openbsd/man3/sio_open.3 create mode 100644 static/openbsd/man3/sioctl_open.3 create mode 100644 static/openbsd/man3/skey.3 create mode 100644 static/openbsd/man3/sleep.3 create mode 100644 static/openbsd/man3/sockatmark.3 create mode 100644 static/openbsd/man3/sqrt.3 create mode 100644 static/openbsd/man3/ssl.3 create mode 100644 static/openbsd/man3/statvfs.3 create mode 100644 static/openbsd/man3/stdio.3 create mode 100644 static/openbsd/man3/stpcpy.3 create mode 100644 static/openbsd/man3/strcasecmp.3 create mode 100644 static/openbsd/man3/strcat.3 create mode 100644 static/openbsd/man3/strchr.3 create mode 100644 static/openbsd/man3/strcmp.3 create mode 100644 static/openbsd/man3/strcoll.3 create mode 100644 static/openbsd/man3/strcpy.3 create mode 100644 static/openbsd/man3/strcspn.3 create mode 100644 static/openbsd/man3/strdup.3 create mode 100644 static/openbsd/man3/strerror.3 create mode 100644 static/openbsd/man3/strftime.3 create mode 100644 static/openbsd/man3/strlcpy.3 create mode 100644 static/openbsd/man3/strlen.3 create mode 100644 static/openbsd/man3/strmode.3 create mode 100644 static/openbsd/man3/strncat.3 create mode 100644 static/openbsd/man3/strncpy.3 create mode 100644 static/openbsd/man3/strpbrk.3 create mode 100644 static/openbsd/man3/strptime.3 create mode 100644 static/openbsd/man3/strrchr.3 create mode 100644 static/openbsd/man3/strsep.3 create mode 100644 static/openbsd/man3/strsignal.3 create mode 100644 static/openbsd/man3/strspn.3 create mode 100644 static/openbsd/man3/strstr.3 create mode 100644 static/openbsd/man3/strtod.3 create mode 100644 static/openbsd/man3/strtofflags.3 create mode 100644 static/openbsd/man3/strtok.3 create mode 100644 static/openbsd/man3/strtol.3 create mode 100644 static/openbsd/man3/strtonum.3 create mode 100644 static/openbsd/man3/strtoul.3 create mode 100644 static/openbsd/man3/strxfrm.3 create mode 100644 static/openbsd/man3/swab.3 create mode 100644 static/openbsd/man3/sysconf.3 create mode 100644 static/openbsd/man3/syslog.3 create mode 100644 static/openbsd/man3/system.3 create mode 100644 static/openbsd/man3/tan.3 create mode 100644 static/openbsd/man3/tanh.3 create mode 100644 static/openbsd/man3/tcgetpgrp.3 create mode 100644 static/openbsd/man3/tcgetsid.3 create mode 100644 static/openbsd/man3/tcsendbreak.3 create mode 100644 static/openbsd/man3/tcsetattr.3 create mode 100644 static/openbsd/man3/tcsetpgrp.3 create mode 100644 static/openbsd/man3/term_variables.3 create mode 100644 static/openbsd/man3/termcap.3 create mode 100644 static/openbsd/man3/terminfo.3 create mode 100644 static/openbsd/man3/time.3 create mode 100644 static/openbsd/man3/time2posix.3 create mode 100644 static/openbsd/man3/times.3 create mode 100644 static/openbsd/man3/timespec_get.3 create mode 100644 static/openbsd/man3/timingsafe_bcmp.3 create mode 100644 static/openbsd/man3/tls_accept_socket.3 create mode 100644 static/openbsd/man3/tls_client.3 create mode 100644 static/openbsd/man3/tls_config_ocsp_require_stapling.3 create mode 100644 static/openbsd/man3/tls_config_set_protocols.3 create mode 100644 static/openbsd/man3/tls_config_set_session_id.3 create mode 100644 static/openbsd/man3/tls_config_verify.3 create mode 100644 static/openbsd/man3/tls_conn_version.3 create mode 100644 static/openbsd/man3/tls_connect.3 create mode 100644 static/openbsd/man3/tls_init.3 create mode 100644 static/openbsd/man3/tls_load_file.3 create mode 100644 static/openbsd/man3/tls_ocsp_process_response.3 create mode 100644 static/openbsd/man3/tls_read.3 create mode 100644 static/openbsd/man3/tmpnam.3 create mode 100644 static/openbsd/man3/toascii.3 create mode 100644 static/openbsd/man3/tolower.3 create mode 100644 static/openbsd/man3/toupper.3 create mode 100644 static/openbsd/man3/towctrans.3 create mode 100644 static/openbsd/man3/towlower.3 create mode 100644 static/openbsd/man3/trunc.3 create mode 100644 static/openbsd/man3/tsearch.3 create mode 100644 static/openbsd/man3/ttyname.3 create mode 100644 static/openbsd/man3/tzset.3 create mode 100644 static/openbsd/man3/ualarm.3 create mode 100644 static/openbsd/man3/uname.3 create mode 100644 static/openbsd/man3/ungetc.3 create mode 100644 static/openbsd/man3/ungetwc.3 create mode 100644 static/openbsd/man3/unvis.3 create mode 100644 static/openbsd/man3/usbhid.3 create mode 100644 static/openbsd/man3/uselocale.3 create mode 100644 static/openbsd/man3/user_from_uid.3 create mode 100644 static/openbsd/man3/usleep.3 create mode 100644 static/openbsd/man3/utime.3 create mode 100644 static/openbsd/man3/uu_lock.3 create mode 100644 static/openbsd/man3/uuid_compare.3 create mode 100644 static/openbsd/man3/v2i_ASN1_BIT_STRING.3 create mode 100644 static/openbsd/man3/va.3 create mode 100644 static/openbsd/man3/valloc.3 create mode 100644 static/openbsd/man3/vis.3 create mode 100644 static/openbsd/man3/wcrtomb.3 create mode 100644 static/openbsd/man3/wcscasecmp.3 create mode 100644 static/openbsd/man3/wcscat.3 create mode 100644 static/openbsd/man3/wcschr.3 create mode 100644 static/openbsd/man3/wcscmp.3 create mode 100644 static/openbsd/man3/wcscoll.3 create mode 100644 static/openbsd/man3/wcscpy.3 create mode 100644 static/openbsd/man3/wcscspn.3 create mode 100644 static/openbsd/man3/wcsdup.3 create mode 100644 static/openbsd/man3/wcsftime.3 create mode 100644 static/openbsd/man3/wcslcpy.3 create mode 100644 static/openbsd/man3/wcslen.3 create mode 100644 static/openbsd/man3/wcspbrk.3 create mode 100644 static/openbsd/man3/wcsrchr.3 create mode 100644 static/openbsd/man3/wcsrtombs.3 create mode 100644 static/openbsd/man3/wcsspn.3 create mode 100644 static/openbsd/man3/wcsstr.3 create mode 100644 static/openbsd/man3/wcstod.3 create mode 100644 static/openbsd/man3/wcstok.3 create mode 100644 static/openbsd/man3/wcstol.3 create mode 100644 static/openbsd/man3/wcstombs.3 create mode 100644 static/openbsd/man3/wcswidth.3 create mode 100644 static/openbsd/man3/wcsxfrm.3 create mode 100644 static/openbsd/man3/wctob.3 create mode 100644 static/openbsd/man3/wctomb.3 create mode 100644 static/openbsd/man3/wctrans.3 create mode 100644 static/openbsd/man3/wctype.3 create mode 100644 static/openbsd/man3/wcwidth.3 create mode 100644 static/openbsd/man3/wmemchr.3 create mode 100644 static/openbsd/man3/wmemcmp.3 create mode 100644 static/openbsd/man3/wmemcpy.3 create mode 100644 static/openbsd/man3/wmemmove.3 create mode 100644 static/openbsd/man3/wmemset.3 create mode 100644 static/openbsd/man3/wprintf.3 create mode 100644 static/openbsd/man3/wresize.3 create mode 100644 static/openbsd/man3/wscanf.3 create mode 100644 static/openbsd/man3/x509_verify.3 create mode 100644 static/openbsd/man3/xdr.3 create mode 100644 static/openbsd/man3/yp_bind.3 create mode 100644 static/openbsd/man4/abtn.4 create mode 100644 static/openbsd/man4/adb.4 create mode 100644 static/openbsd/man4/agintc.4 create mode 100644 static/openbsd/man4/agten.4 create mode 100644 static/openbsd/man4/agtimer.4 create mode 100644 static/openbsd/man4/amdcf.4 create mode 100644 static/openbsd/man4/amdisplay.4 create mode 100644 static/openbsd/man4/amdmsr.4 create mode 100644 static/openbsd/man4/amdpcib.4 create mode 100644 static/openbsd/man4/ampchwm.4 create mode 100644 static/openbsd/man4/ampintc.4 create mode 100644 static/openbsd/man4/amptimer.4 create mode 100644 static/openbsd/man4/aoa.4 create mode 100644 static/openbsd/man4/apecs.4 create mode 100644 static/openbsd/man4/apio.4 create mode 100644 static/openbsd/man4/aplaudio.4 create mode 100644 static/openbsd/man4/aplcpu.4 create mode 100644 static/openbsd/man4/apldart.4 create mode 100644 static/openbsd/man4/apldcp.4 create mode 100644 static/openbsd/man4/apldma.4 create mode 100644 static/openbsd/man4/apldog.4 create mode 100644 static/openbsd/man4/apldrm.4 create mode 100644 static/openbsd/man4/aplefuse.4 create mode 100644 static/openbsd/man4/aplhidev.4 create mode 100644 static/openbsd/man4/apliic.4 create mode 100644 static/openbsd/man4/aplintc.4 create mode 100644 static/openbsd/man4/aplmbox.4 create mode 100644 static/openbsd/man4/aplmca.4 create mode 100644 static/openbsd/man4/aplnco.4 create mode 100644 static/openbsd/man4/aplns.4 create mode 100644 static/openbsd/man4/aplpcie.4 create mode 100644 static/openbsd/man4/aplpinctrl.4 create mode 100644 static/openbsd/man4/aplpmgr.4 create mode 100644 static/openbsd/man4/aplpmu.4 create mode 100644 static/openbsd/man4/aplpwm.4 create mode 100644 static/openbsd/man4/aplsart.4 create mode 100644 static/openbsd/man4/aplsmc.4 create mode 100644 static/openbsd/man4/aplspi.4 create mode 100644 static/openbsd/man4/aplspmi.4 create mode 100644 static/openbsd/man4/apm.4 create mode 100644 static/openbsd/man4/armliicc.4 create mode 100644 static/openbsd/man4/arp.4 create mode 100644 static/openbsd/man4/asc.4 create mode 100644 static/openbsd/man4/asio.4 create mode 100644 static/openbsd/man4/asms.4 create mode 100644 static/openbsd/man4/asp.4 create mode 100644 static/openbsd/man4/astfb.4 create mode 100644 static/openbsd/man4/astro.4 create mode 100644 static/openbsd/man4/audioce.4 create mode 100644 static/openbsd/man4/audiocs.4 create mode 100644 static/openbsd/man4/autoconf.4 create mode 100644 static/openbsd/man4/auxio.4 create mode 100644 static/openbsd/man4/awacs.4 create mode 100644 static/openbsd/man4/bba.4 create mode 100644 static/openbsd/man4/bbc.4 create mode 100644 static/openbsd/man4/be.4 create mode 100644 static/openbsd/man4/beeper.4 create mode 100644 static/openbsd/man4/bios.4 create mode 100644 static/openbsd/man4/bm.4 create mode 100644 static/openbsd/man4/bonito.4 create mode 100644 static/openbsd/man4/bpp.4 create mode 100644 static/openbsd/man4/bwtwo.4 create mode 100644 static/openbsd/man4/cbus.4 create mode 100644 static/openbsd/man4/central.4 create mode 100644 static/openbsd/man4/cgsix.4 create mode 100644 static/openbsd/man4/cgthree.4 create mode 100644 static/openbsd/man4/cgtwelve.4 create mode 100644 static/openbsd/man4/cia.4 create mode 100644 static/openbsd/man4/clkbrd.4 create mode 100644 static/openbsd/man4/clock.4 create mode 100644 static/openbsd/man4/cmp.4 create mode 100644 static/openbsd/man4/cnmac.4 create mode 100644 static/openbsd/man4/comkbd.4 create mode 100644 static/openbsd/man4/comms.4 create mode 100644 static/openbsd/man4/core.4 create mode 100644 static/openbsd/man4/cortex.4 create mode 100644 static/openbsd/man4/cpsw.4 create mode 100644 static/openbsd/man4/cpu.4 create mode 100644 static/openbsd/man4/creator.4 create mode 100644 static/openbsd/man4/csh.4 create mode 100644 static/openbsd/man4/daca.4 create mode 100644 static/openbsd/man4/dfs.4 create mode 100644 static/openbsd/man4/dino.4 create mode 100644 static/openbsd/man4/dmtimer.4 create mode 100644 static/openbsd/man4/ebus.4 create mode 100644 static/openbsd/man4/ecadc.4 create mode 100644 static/openbsd/man4/edma.4 create mode 100644 static/openbsd/man4/efifb.4 create mode 100644 static/openbsd/man4/elroy.4 create mode 100644 static/openbsd/man4/environ.4 create mode 100644 static/openbsd/man4/esm.4 create mode 100644 static/openbsd/man4/esp.4 create mode 100644 static/openbsd/man4/fcu.4 create mode 100644 static/openbsd/man4/fhc.4 create mode 100644 static/openbsd/man4/gdiumiic.4 create mode 100644 static/openbsd/man4/gecko.4 create mode 100644 static/openbsd/man4/geodesc.4 create mode 100644 static/openbsd/man4/gfxp.4 create mode 100644 static/openbsd/man4/glxclk.4 create mode 100644 static/openbsd/man4/glxpcib.4 create mode 100644 static/openbsd/man4/glxsb.4 create mode 100644 static/openbsd/man4/gptimer.4 create mode 100644 static/openbsd/man4/gsc.4 create mode 100644 static/openbsd/man4/gsckbc.4 create mode 100644 static/openbsd/man4/gscpcib.4 create mode 100644 static/openbsd/man4/gscpm.4 create mode 100644 static/openbsd/man4/gus.4 create mode 100644 static/openbsd/man4/harmony.4 create mode 100644 static/openbsd/man4/hpb.4 create mode 100644 static/openbsd/man4/ht.4 create mode 100644 static/openbsd/man4/htb.4 create mode 100644 static/openbsd/man4/ichpcib.4 create mode 100644 static/openbsd/man4/ie.4 create mode 100644 static/openbsd/man4/ifb.4 create mode 100644 static/openbsd/man4/imxtemp.4 create mode 100644 static/openbsd/man4/intc.4 create mode 100644 static/openbsd/man4/intro.4 create mode 100644 static/openbsd/man4/io.4 create mode 100644 static/openbsd/man4/ioapic.4 create mode 100644 static/openbsd/man4/ioasic.4 create mode 100644 static/openbsd/man4/irongate.4 create mode 100644 static/openbsd/man4/joy.4 create mode 100644 static/openbsd/man4/kauaiata.4 create mode 100644 static/openbsd/man4/keynote.4 create mode 100644 static/openbsd/man4/kiic.4 create mode 100644 static/openbsd/man4/lasi.4 create mode 100644 static/openbsd/man4/lca.4 create mode 100644 static/openbsd/man4/lcd.4 create mode 100644 static/openbsd/man4/le.4 create mode 100644 static/openbsd/man4/led.4 create mode 100644 static/openbsd/man4/leioc.4 create mode 100644 static/openbsd/man4/lms.4 create mode 100644 static/openbsd/man4/lom.4 create mode 100644 static/openbsd/man4/macgpio.4 create mode 100644 static/openbsd/man4/machfb.4 create mode 100644 static/openbsd/man4/macobio.4 create mode 100644 static/openbsd/man4/magma.4 create mode 100644 static/openbsd/man4/mc.4 create mode 100644 static/openbsd/man4/mcbus.4 create mode 100644 static/openbsd/man4/mcpcia.4 create mode 100644 static/openbsd/man4/mediabay.4 create mode 100644 static/openbsd/man4/mem.4 create mode 100644 static/openbsd/man4/memc.4 create mode 100644 static/openbsd/man4/mgx.4 create mode 100644 static/openbsd/man4/mms.4 create mode 100644 static/openbsd/man4/mongoose.4 create mode 100644 static/openbsd/man4/mpbios.4 create mode 100644 static/openbsd/man4/mpcpcibr.4 create mode 100644 static/openbsd/man4/mpfclock.4 create mode 100644 static/openbsd/man4/mpfgpio.4 create mode 100644 static/openbsd/man4/mpfiic.4 create mode 100644 static/openbsd/man4/mtrr.4 create mode 100644 static/openbsd/man4/mvodog.4 create mode 100644 static/openbsd/man4/mvortc.4 create mode 100644 static/openbsd/man4/necsb.4 create mode 100644 static/openbsd/man4/npx.4 create mode 100644 static/openbsd/man4/nvram.4 create mode 100644 static/openbsd/man4/obio.4 create mode 100644 static/openbsd/man4/octboot.4 create mode 100644 static/openbsd/man4/octcf.4 create mode 100644 static/openbsd/man4/octcib.4 create mode 100644 static/openbsd/man4/octcit.4 create mode 100644 static/openbsd/man4/octciu.4 create mode 100644 static/openbsd/man4/octcrypto.4 create mode 100644 static/openbsd/man4/octgmx.4 create mode 100644 static/openbsd/man4/octgpio.4 create mode 100644 static/openbsd/man4/octiic.4 create mode 100644 static/openbsd/man4/octmmc.4 create mode 100644 static/openbsd/man4/octpcie.4 create mode 100644 static/openbsd/man4/octpip.4 create mode 100644 static/openbsd/man4/octrng.4 create mode 100644 static/openbsd/man4/octrtc.4 create mode 100644 static/openbsd/man4/octsctl.4 create mode 100644 static/openbsd/man4/octsmi.4 create mode 100644 static/openbsd/man4/octuctl.4 create mode 100644 static/openbsd/man4/octxctl.4 create mode 100644 static/openbsd/man4/ogx.4 create mode 100644 static/openbsd/man4/ogxnexus.4 create mode 100644 static/openbsd/man4/omap.4 create mode 100644 static/openbsd/man4/omclock.4 create mode 100644 static/openbsd/man4/omcm.4 create mode 100644 static/openbsd/man4/omdog.4 create mode 100644 static/openbsd/man4/omgpio.4 create mode 100644 static/openbsd/man4/ommmc.4 create mode 100644 static/openbsd/man4/omrng.4 create mode 100644 static/openbsd/man4/omsysc.4 create mode 100644 static/openbsd/man4/omwugen.4 create mode 100644 static/openbsd/man4/onyx.4 create mode 100644 static/openbsd/man4/opal.4 create mode 100644 static/openbsd/man4/opalcons.4 create mode 100644 static/openbsd/man4/opalsens.4 create mode 100644 static/openbsd/man4/openpic.4 create mode 100644 static/openbsd/man4/pas.4 create mode 100644 static/openbsd/man4/pcexmem.4 create mode 100644 static/openbsd/man4/pcibios.4 create mode 100644 static/openbsd/man4/pcons.4 create mode 100644 static/openbsd/man4/pctr.4 create mode 100644 static/openbsd/man4/pdc.4 create mode 100644 static/openbsd/man4/pgs.4 create mode 100644 static/openbsd/man4/phantomas.4 create mode 100644 static/openbsd/man4/phb.4 create mode 100644 static/openbsd/man4/piic.4 create mode 100644 static/openbsd/man4/plic.4 create mode 100644 static/openbsd/man4/pmc.4 create mode 100644 static/openbsd/man4/power.4 create mode 100644 static/openbsd/man4/ppm.4 create mode 100644 static/openbsd/man4/prcm.4 create mode 100644 static/openbsd/man4/prtc.4 create mode 100644 static/openbsd/man4/psycho.4 create mode 100644 static/openbsd/man4/pyro.4 create mode 100644 static/openbsd/man4/qe.4 create mode 100644 static/openbsd/man4/qec.4 create mode 100644 static/openbsd/man4/radeonfb.4 create mode 100644 static/openbsd/man4/raptor.4 create mode 100644 static/openbsd/man4/rfx.4 create mode 100644 static/openbsd/man4/rpiclock.4 create mode 100644 static/openbsd/man4/rpipwm.4 create mode 100644 static/openbsd/man4/rpirtc.4 create mode 100644 static/openbsd/man4/rpone.4 create mode 100644 static/openbsd/man4/runway.4 create mode 100644 static/openbsd/man4/sab.4 create mode 100644 static/openbsd/man4/sb.4 create mode 100644 static/openbsd/man4/sbbc.4 create mode 100644 static/openbsd/man4/schizo.4 create mode 100644 static/openbsd/man4/sfcc.4 create mode 100644 static/openbsd/man4/sfclock.4 create mode 100644 static/openbsd/man4/sfgpio.4 create mode 100644 static/openbsd/man4/sfuart.4 create mode 100644 static/openbsd/man4/sgmsi.4 create mode 100644 static/openbsd/man4/shpcic.4 create mode 100644 static/openbsd/man4/sisfb.4 create mode 100644 static/openbsd/man4/skgpio.4 create mode 100644 static/openbsd/man4/smbios.4 create mode 100644 static/openbsd/man4/smfb.4 create mode 100644 static/openbsd/man4/smtclock.4 create mode 100644 static/openbsd/man4/smtcomphy.4 create mode 100644 static/openbsd/man4/smte.4 create mode 100644 static/openbsd/man4/smtgpio.4 create mode 100644 static/openbsd/man4/smtiic.4 create mode 100644 static/openbsd/man4/smtpinctrl.4 create mode 100644 static/openbsd/man4/smtpmic.4 create mode 100644 static/openbsd/man4/smu.4 create mode 100644 static/openbsd/man4/snapper.4 create mode 100644 static/openbsd/man4/spc.4 create mode 100644 static/openbsd/man4/spif.4 create mode 100644 static/openbsd/man4/ssio.4 create mode 100644 static/openbsd/man4/ssm.4 create mode 100644 static/openbsd/man4/stfclock.4 create mode 100644 static/openbsd/man4/stfpcie.4 create mode 100644 static/openbsd/man4/stfpciephy.4 create mode 100644 static/openbsd/man4/stfpinctrl.4 create mode 100644 static/openbsd/man4/stfrng.4 create mode 100644 static/openbsd/man4/stsec.4 create mode 100644 static/openbsd/man4/sxie.4 create mode 100644 static/openbsd/man4/sxiintc.4 create mode 100644 static/openbsd/man4/sxitimer.4 create mode 100644 static/openbsd/man4/sxits.4 create mode 100644 static/openbsd/man4/sysbutton.4 create mode 100644 static/openbsd/man4/sysreg.4 create mode 100644 static/openbsd/man4/tcasic.4 create mode 100644 static/openbsd/man4/tcpcib.4 create mode 100644 static/openbsd/man4/tda.4 create mode 100644 static/openbsd/man4/tga.4 create mode 100644 static/openbsd/man4/tsc.4 create mode 100644 static/openbsd/man4/tsciic.4 create mode 100644 static/openbsd/man4/tumbler.4 create mode 100644 static/openbsd/man4/tvtwo.4 create mode 100644 static/openbsd/man4/uha.4 create mode 100644 static/openbsd/man4/upa.4 create mode 100644 static/openbsd/man4/uperf.4 create mode 100644 static/openbsd/man4/uturn.4 create mode 100644 static/openbsd/man4/vbus.4 create mode 100644 static/openbsd/man4/vcc.4 create mode 100644 static/openbsd/man4/vcons.4 create mode 100644 static/openbsd/man4/vds.4 create mode 100644 static/openbsd/man4/vdsk.4 create mode 100644 static/openbsd/man4/vigra.4 create mode 100644 static/openbsd/man4/vldc.4 create mode 100644 static/openbsd/man4/vmm.4 create mode 100644 static/openbsd/man4/vnet.4 create mode 100644 static/openbsd/man4/voyager.4 create mode 100644 static/openbsd/man4/vpci.4 create mode 100644 static/openbsd/man4/vrng.4 create mode 100644 static/openbsd/man4/vrtc.4 create mode 100644 static/openbsd/man4/vsw.4 create mode 100644 static/openbsd/man4/wax.4 create mode 100644 static/openbsd/man4/wds.4 create mode 100644 static/openbsd/man4/wdt.4 create mode 100644 static/openbsd/man4/xbox.4 create mode 100644 static/openbsd/man4/xicp.4 create mode 100644 static/openbsd/man4/xics.4 create mode 100644 static/openbsd/man4/xive.4 create mode 100644 static/openbsd/man4/xlights.4 create mode 100644 static/openbsd/man4/xp.4 create mode 100644 static/openbsd/man4/ykbec.4 create mode 100644 static/openbsd/man4/zqclock.4 create mode 100644 static/openbsd/man4/zqreset.4 create mode 100644 static/openbsd/man4/zs.4 create mode 100644 static/openbsd/man4/zx.4 create mode 100644 static/openbsd/man5/acme-client.conf.5 create mode 100644 static/openbsd/man5/aliases.5 create mode 100644 static/openbsd/man5/bgpd.conf.5 create mode 100644 static/openbsd/man5/bootparams.5 create mode 100644 static/openbsd/man5/bsd.re-config.5 create mode 100644 static/openbsd/man5/bt.5 create mode 100644 static/openbsd/man5/chio.conf.5 create mode 100644 static/openbsd/man5/crontab.5 create mode 100644 static/openbsd/man5/cvs.5 create mode 100644 static/openbsd/man5/dhcp-options.5 create mode 100644 static/openbsd/man5/dhcp6leased.conf.5 create mode 100644 static/openbsd/man5/dhcpd.conf.5 create mode 100644 static/openbsd/man5/dhcpd.leases.5 create mode 100644 static/openbsd/man5/dhcpleased.conf.5 create mode 100644 static/openbsd/man5/disklabel.5 create mode 100644 static/openbsd/man5/doas.conf.5 create mode 100644 static/openbsd/man5/dvmrpd.conf.5 create mode 100644 static/openbsd/man5/editrc.5 create mode 100644 static/openbsd/man5/eigrpd.conf.5 create mode 100644 static/openbsd/man5/exports.5 create mode 100644 static/openbsd/man5/forward.5 create mode 100644 static/openbsd/man5/gettytab.5 create mode 100644 static/openbsd/man5/hostapd.conf.5 create mode 100644 static/openbsd/man5/httpd.conf.5 create mode 100644 static/openbsd/man5/ifstated.conf.5 create mode 100644 static/openbsd/man5/iked.conf.5 create mode 100644 static/openbsd/man5/info.5 create mode 100644 static/openbsd/man5/ipsec.conf.5 create mode 100644 static/openbsd/man5/isakmpd.conf.5 create mode 100644 static/openbsd/man5/isakmpd.policy.5 create mode 100644 static/openbsd/man5/iscsi.conf.5 create mode 100644 static/openbsd/man5/keynote.5 create mode 100644 static/openbsd/man5/ldapd.conf.5 create mode 100644 static/openbsd/man5/ldom.conf.5 create mode 100644 static/openbsd/man5/ldpd.conf.5 create mode 100644 static/openbsd/man5/magic.5 create mode 100644 static/openbsd/man5/mailer.conf.5 create mode 100644 static/openbsd/man5/man.conf.5 create mode 100644 static/openbsd/man5/netid.5 create mode 100644 static/openbsd/man5/npppd-users.5 create mode 100644 static/openbsd/man5/npppd.conf.5 create mode 100644 static/openbsd/man5/ntpd.conf.5 create mode 100644 static/openbsd/man5/openssl.cnf.5 create mode 100644 static/openbsd/man5/ospf6d.conf.5 create mode 100644 static/openbsd/man5/ospfd.conf.5 create mode 100644 static/openbsd/man5/package.5 create mode 100644 static/openbsd/man5/pcap-filter.5 create mode 100644 static/openbsd/man5/rad.conf.5 create mode 100644 static/openbsd/man5/radiusd.conf.5 create mode 100644 static/openbsd/man5/rcsfile.5 create mode 100644 static/openbsd/man5/relayd.conf.5 create mode 100644 static/openbsd/man5/ripd.conf.5 create mode 100644 static/openbsd/man5/rsync.5 create mode 100644 static/openbsd/man5/rsyncd.5 create mode 100644 static/openbsd/man5/sasyncd.conf.5 create mode 100644 static/openbsd/man5/scr_dump.5 create mode 100644 static/openbsd/man5/securenet.5 create mode 100644 static/openbsd/man5/sensorsd.conf.5 create mode 100644 static/openbsd/man5/skey.5 create mode 100644 static/openbsd/man5/smtpd.conf.5 create mode 100644 static/openbsd/man5/snmpd.conf.5 create mode 100644 static/openbsd/man5/ssh_config.5 create mode 100644 static/openbsd/man5/sshd_config.5 create mode 100644 static/openbsd/man5/syslog.conf.5 create mode 100644 static/openbsd/man5/table.5 create mode 100644 static/openbsd/man5/term.5 create mode 100644 static/openbsd/man5/termcap.5 create mode 100644 static/openbsd/man5/terminfo.5 create mode 100644 static/openbsd/man5/texinfo.5 create mode 100644 static/openbsd/man5/ttys.5 create mode 100644 static/openbsd/man5/tzfile.5 create mode 100644 static/openbsd/man5/unwind.conf.5 create mode 100644 static/openbsd/man5/user_caps.5 create mode 100644 static/openbsd/man5/usermgmt.conf.5 create mode 100644 static/openbsd/man5/uuencode.5 create mode 100644 static/openbsd/man5/vm.conf.5 create mode 100644 static/openbsd/man5/x509v3.cnf.5 create mode 100644 static/openbsd/man5/ypldap.conf.5 create mode 100644 static/openbsd/man5/ypserv.acl.5 create mode 100644 static/openbsd/man6/adventure.6 create mode 100644 static/openbsd/man6/arithmetic.6 create mode 100644 static/openbsd/man6/atc.6 create mode 100644 static/openbsd/man6/backgammon.6 create mode 100644 static/openbsd/man6/banner.6 create mode 100644 static/openbsd/man6/battlestar.6 create mode 100644 static/openbsd/man6/bcd.6 create mode 100644 static/openbsd/man6/boggle.6 create mode 100644 static/openbsd/man6/bs.6 create mode 100644 static/openbsd/man6/caesar.6 create mode 100644 static/openbsd/man6/canfield.6 create mode 100644 static/openbsd/man6/cribbage.6 create mode 100644 static/openbsd/man6/factor.6 create mode 100644 static/openbsd/man6/fish.6 create mode 100644 static/openbsd/man6/fortune.6 create mode 100644 static/openbsd/man6/gomoku.6 create mode 100644 static/openbsd/man6/grdc.6 create mode 100644 static/openbsd/man6/hack.6 create mode 100644 static/openbsd/man6/hangman.6 create mode 100644 static/openbsd/man6/hunt.6 create mode 100644 static/openbsd/man6/huntd.6 create mode 100644 static/openbsd/man6/mille.6 create mode 100644 static/openbsd/man6/monop.6 create mode 100644 static/openbsd/man6/morse.6 create mode 100644 static/openbsd/man6/number.6 create mode 100644 static/openbsd/man6/phantasia.6 create mode 100644 static/openbsd/man6/pig.6 create mode 100644 static/openbsd/man6/pom.6 create mode 100644 static/openbsd/man6/ppt.6 create mode 100644 static/openbsd/man6/quiz.6 create mode 100644 static/openbsd/man6/rain.6 create mode 100644 static/openbsd/man6/random.6 create mode 100644 static/openbsd/man6/robots.6 create mode 100644 static/openbsd/man6/sail.6 create mode 100644 static/openbsd/man6/snake.6 create mode 100644 static/openbsd/man6/tetris.6 create mode 100644 static/openbsd/man6/trek.6 create mode 100644 static/openbsd/man6/worm.6 create mode 100644 static/openbsd/man6/worms.6 create mode 100644 static/openbsd/man6/wump.6 create mode 100644 static/openbsd/man7/cvsintro.7 create mode 100644 static/openbsd/man7/editline.7 create mode 100644 static/openbsd/man7/fsf-funding.7 create mode 100644 static/openbsd/man7/gfdl.7 create mode 100644 static/openbsd/man7/gpl.7 create mode 100644 static/openbsd/man7/patterns.7 create mode 100644 static/openbsd/man7/re_format.7 create mode 100644 static/openbsd/man7/smtpd-filters.7 create mode 100644 static/openbsd/man7/smtpd-tables.7 create mode 100644 static/openbsd/man7/sndio.7 create mode 100644 static/openbsd/man7/symlink.7 create mode 100644 static/openbsd/man7/term.7 create mode 100644 static/openbsd/man8/MAKEDEV.8 create mode 100644 static/openbsd/man8/Makefile.yp.8 create mode 100644 static/openbsd/man8/ac.8 create mode 100644 static/openbsd/man8/accton.8 create mode 100644 static/openbsd/man8/acpidump.8 create mode 100644 static/openbsd/man8/adduser.8 create mode 100644 static/openbsd/man8/amd.8 create mode 100644 static/openbsd/man8/amq.8 create mode 100644 static/openbsd/man8/apm.8 create mode 100644 static/openbsd/man8/apmd.8 create mode 100644 static/openbsd/man8/apple_driver.8 create mode 100644 static/openbsd/man8/arp.8 create mode 100644 static/openbsd/man8/atactl.8 create mode 100644 static/openbsd/man8/audioctl.8 create mode 100644 static/openbsd/man8/authpf.8 create mode 100644 static/openbsd/man8/badsect.8 create mode 100644 static/openbsd/man8/bgpctl.8 create mode 100644 static/openbsd/man8/bgpd.8 create mode 100644 static/openbsd/man8/bgplg.8 create mode 100644 static/openbsd/man8/bgplgd.8 create mode 100644 static/openbsd/man8/bgplgsh.8 create mode 100644 static/openbsd/man8/bioctl.8 create mode 100644 static/openbsd/man8/biosboot.8 create mode 100644 static/openbsd/man8/boot.8 create mode 100644 static/openbsd/man8/boot_alpha.8 create mode 100644 static/openbsd/man8/boot_amd64.8 create mode 100644 static/openbsd/man8/boot_hppa.8 create mode 100644 static/openbsd/man8/boot_i386.8 create mode 100644 static/openbsd/man8/boot_luna88k.8 create mode 100644 static/openbsd/man8/boot_macppc.8 create mode 100644 static/openbsd/man8/boot_sparc64.8 create mode 100644 static/openbsd/man8/bpflogd.8 create mode 100644 static/openbsd/man8/btrace.8 create mode 100644 static/openbsd/man8/cdboot.8 create mode 100644 static/openbsd/man8/chat.8 create mode 100644 static/openbsd/man8/chown.8 create mode 100644 static/openbsd/man8/chroot.8 create mode 100644 static/openbsd/man8/clri.8 create mode 100644 static/openbsd/man8/comsat.8 create mode 100644 static/openbsd/man8/config.8 create mode 100644 static/openbsd/man8/cron.8 create mode 100644 static/openbsd/man8/crunchgen.8 create mode 100644 static/openbsd/man8/cvsbug.8 create mode 100644 static/openbsd/man8/dev_mkdb.8 create mode 100644 static/openbsd/man8/dhcp6leasectl.8 create mode 100644 static/openbsd/man8/dhcp6leased.8 create mode 100644 static/openbsd/man8/dhcpd.8 create mode 100644 static/openbsd/man8/dhcpleasectl.8 create mode 100644 static/openbsd/man8/dhcpleased.8 create mode 100644 static/openbsd/man8/dhcrelay.8 create mode 100644 static/openbsd/man8/dhcrelay6.8 create mode 100644 static/openbsd/man8/disklabel.8 create mode 100644 static/openbsd/man8/dmesg.8 create mode 100644 static/openbsd/man8/dump.8 create mode 100644 static/openbsd/man8/dumpfs.8 create mode 100644 static/openbsd/man8/dvmrpctl.8 create mode 100644 static/openbsd/man8/dvmrpd.8 create mode 100644 static/openbsd/man8/edquota.8 create mode 100644 static/openbsd/man8/eeprom.8 create mode 100644 static/openbsd/man8/eigrpctl.8 create mode 100644 static/openbsd/man8/eigrpd.8 create mode 100644 static/openbsd/man8/fdisk.8 create mode 100644 static/openbsd/man8/fingerd.8 create mode 100644 static/openbsd/man8/fsck.8 create mode 100644 static/openbsd/man8/fsck_ext2fs.8 create mode 100644 static/openbsd/man8/fsck_ffs.8 create mode 100644 static/openbsd/man8/fsck_msdos.8 create mode 100644 static/openbsd/man8/fsdb.8 create mode 100644 static/openbsd/man8/fsirand.8 create mode 100644 static/openbsd/man8/ftp-proxy.8 create mode 100644 static/openbsd/man8/ftpd.8 create mode 100644 static/openbsd/man8/fw_update.8 create mode 100644 static/openbsd/man8/getty.8 create mode 100644 static/openbsd/man8/gpioctl.8 create mode 100644 static/openbsd/man8/group.8 create mode 100644 static/openbsd/man8/groupadd.8 create mode 100644 static/openbsd/man8/groupdel.8 create mode 100644 static/openbsd/man8/groupinfo.8 create mode 100644 static/openbsd/man8/groupmod.8 create mode 100644 static/openbsd/man8/growfs.8 create mode 100644 static/openbsd/man8/hostapd.8 create mode 100644 static/openbsd/man8/hostctl.8 create mode 100644 static/openbsd/man8/hotplugd.8 create mode 100644 static/openbsd/man8/httpd.8 create mode 100644 static/openbsd/man8/identd.8 create mode 100644 static/openbsd/man8/ifconfig.8 create mode 100644 static/openbsd/man8/ifstated.8 create mode 100644 static/openbsd/man8/ikectl.8 create mode 100644 static/openbsd/man8/iked.8 create mode 100644 static/openbsd/man8/inetd.8 create mode 100644 static/openbsd/man8/init.8 create mode 100644 static/openbsd/man8/installboot.8 create mode 100644 static/openbsd/man8/iostat.8 create mode 100644 static/openbsd/man8/ipsecctl.8 create mode 100644 static/openbsd/man8/isakmpd.8 create mode 100644 static/openbsd/man8/iscsictl.8 create mode 100644 static/openbsd/man8/iscsid.8 create mode 100644 static/openbsd/man8/isoinfo.8 create mode 100644 static/openbsd/man8/kbd.8 create mode 100644 static/openbsd/man8/kgmon.8 create mode 100644 static/openbsd/man8/kvm_mkdb.8 create mode 100644 static/openbsd/man8/ldapctl.8 create mode 100644 static/openbsd/man8/ldapd.8 create mode 100644 static/openbsd/man8/ldattach.8 create mode 100644 static/openbsd/man8/ldconfig.8 create mode 100644 static/openbsd/man8/ldomctl.8 create mode 100644 static/openbsd/man8/ldomd.8 create mode 100644 static/openbsd/man8/ldpctl.8 create mode 100644 static/openbsd/man8/ldpd.8 create mode 100644 static/openbsd/man8/lldp.8 create mode 100644 static/openbsd/man8/lldpd.8 create mode 100644 static/openbsd/man8/locate.mklocatedb.8 create mode 100644 static/openbsd/man8/locate.updatedb.8 create mode 100644 static/openbsd/man8/login_chpass.8 create mode 100644 static/openbsd/man8/login_lchpass.8 create mode 100644 static/openbsd/man8/login_ldap.8 create mode 100644 static/openbsd/man8/login_passwd.8 create mode 100644 static/openbsd/man8/login_radius.8 create mode 100644 static/openbsd/man8/login_reject.8 create mode 100644 static/openbsd/man8/login_skey.8 create mode 100644 static/openbsd/man8/login_token.8 create mode 100644 static/openbsd/man8/login_yubikey.8 create mode 100644 static/openbsd/man8/lpc.8 create mode 100644 static/openbsd/man8/lpd.8 create mode 100644 static/openbsd/man8/mail.lmtp.8 create mode 100644 static/openbsd/man8/mail.local.8 create mode 100644 static/openbsd/man8/mail.maildir.8 create mode 100644 static/openbsd/man8/mail.mboxfile.8 create mode 100644 static/openbsd/man8/mail.mda.8 create mode 100644 static/openbsd/man8/mailwrapper.8 create mode 100644 static/openbsd/man8/makedbm.8 create mode 100644 static/openbsd/man8/makefs.8 create mode 100644 static/openbsd/man8/makemap.8 create mode 100644 static/openbsd/man8/makewhatis.8 create mode 100644 static/openbsd/man8/man.cgi.8 create mode 100644 static/openbsd/man8/map-mbone.8 create mode 100644 static/openbsd/man8/mbr.8 create mode 100644 static/openbsd/man8/memconfig.8 create mode 100644 static/openbsd/man8/mixerctl.8 create mode 100644 static/openbsd/man8/mkalias.8 create mode 100644 static/openbsd/man8/mkboot.8 create mode 100644 static/openbsd/man8/mkhybrid.8 create mode 100644 static/openbsd/man8/mkisofs.8 create mode 100644 static/openbsd/man8/mknetid.8 create mode 100644 static/openbsd/man8/mknod.8 create mode 100644 static/openbsd/man8/mkuboot.8 create mode 100644 static/openbsd/man8/mopd.8 create mode 100644 static/openbsd/man8/mount.8 create mode 100644 static/openbsd/man8/mount_cd9660.8 create mode 100644 static/openbsd/man8/mount_ext2fs.8 create mode 100644 static/openbsd/man8/mount_ffs.8 create mode 100644 static/openbsd/man8/mount_msdos.8 create mode 100644 static/openbsd/man8/mount_nfs.8 create mode 100644 static/openbsd/man8/mount_ntfs.8 create mode 100644 static/openbsd/man8/mount_tmpfs.8 create mode 100644 static/openbsd/man8/mount_udf.8 create mode 100644 static/openbsd/man8/mount_vnd.8 create mode 100644 static/openbsd/man8/mountd.8 create mode 100644 static/openbsd/man8/mrinfo.8 create mode 100644 static/openbsd/man8/mrouted.8 create mode 100644 static/openbsd/man8/mtrace.8 create mode 100644 static/openbsd/man8/mtree.8 create mode 100644 static/openbsd/man8/ncheck_ffs.8 create mode 100644 static/openbsd/man8/ndp.8 create mode 100644 static/openbsd/man8/netgroup_mkdb.8 create mode 100644 static/openbsd/man8/newaliases.8 create mode 100644 static/openbsd/man8/newfs.8 create mode 100644 static/openbsd/man8/newfs_ext2fs.8 create mode 100644 static/openbsd/man8/newfs_msdos.8 create mode 100644 static/openbsd/man8/newsyslog.8 create mode 100644 static/openbsd/man8/nfsd.8 create mode 100644 static/openbsd/man8/nologin.8 create mode 100644 static/openbsd/man8/npppctl.8 create mode 100644 static/openbsd/man8/npppd.8 create mode 100644 static/openbsd/man8/ntpctl.8 create mode 100644 static/openbsd/man8/ntpd.8 create mode 100644 static/openbsd/man8/ocspcheck.8 create mode 100644 static/openbsd/man8/ospf6ctl.8 create mode 100644 static/openbsd/man8/ospf6d.8 create mode 100644 static/openbsd/man8/ospfctl.8 create mode 100644 static/openbsd/man8/ospfd.8 create mode 100644 static/openbsd/man8/pcidump.8 create mode 100644 static/openbsd/man8/pdisk.8 create mode 100644 static/openbsd/man8/pfctl.8 create mode 100644 static/openbsd/man8/pflogd.8 create mode 100644 static/openbsd/man8/ping.8 create mode 100644 static/openbsd/man8/pkg_check.8 create mode 100644 static/openbsd/man8/portmap.8 create mode 100644 static/openbsd/man8/pppd.8 create mode 100644 static/openbsd/man8/pppstats.8 create mode 100644 static/openbsd/man8/pstat.8 create mode 100644 static/openbsd/man8/pwd_mkdb.8 create mode 100644 static/openbsd/man8/pxeboot.8 create mode 100644 static/openbsd/man8/quot.8 create mode 100644 static/openbsd/man8/quotacheck.8 create mode 100644 static/openbsd/man8/quotaon.8 create mode 100644 static/openbsd/man8/ractl.8 create mode 100644 static/openbsd/man8/rad.8 create mode 100644 static/openbsd/man8/radiusctl.8 create mode 100644 static/openbsd/man8/radiusd.8 create mode 100644 static/openbsd/man8/radiusd_bsdauth.8 create mode 100644 static/openbsd/man8/radiusd_eap2mschap.8 create mode 100644 static/openbsd/man8/radiusd_file.8 create mode 100644 static/openbsd/man8/radiusd_ipcp.8 create mode 100644 static/openbsd/man8/radiusd_radius.8 create mode 100644 static/openbsd/man8/radiusd_standard.8 create mode 100644 static/openbsd/man8/rarpd.8 create mode 100644 static/openbsd/man8/rbootd.8 create mode 100644 static/openbsd/man8/rcctl.8 create mode 100644 static/openbsd/man8/rdate.8 create mode 100644 static/openbsd/man8/rdsetroot.8 create mode 100644 static/openbsd/man8/reboot.8 create mode 100644 static/openbsd/man8/relayctl.8 create mode 100644 static/openbsd/man8/relayd.8 create mode 100644 static/openbsd/man8/renice.8 create mode 100644 static/openbsd/man8/repquota.8 create mode 100644 static/openbsd/man8/resolvd.8 create mode 100644 static/openbsd/man8/restore.8 create mode 100644 static/openbsd/man8/revnetgroup.8 create mode 100644 static/openbsd/man8/ripctl.8 create mode 100644 static/openbsd/man8/ripd.8 create mode 100644 static/openbsd/man8/rmgroup.8 create mode 100644 static/openbsd/man8/rmt.8 create mode 100644 static/openbsd/man8/route.8 create mode 100644 static/openbsd/man8/route6d.8 create mode 100644 static/openbsd/man8/rpc.bootparamd.8 create mode 100644 static/openbsd/man8/rpc.lockd.8 create mode 100644 static/openbsd/man8/rpc.rquotad.8 create mode 100644 static/openbsd/man8/rpc.rstatd.8 create mode 100644 static/openbsd/man8/rpc.rusersd.8 create mode 100644 static/openbsd/man8/rpc.rwalld.8 create mode 100644 static/openbsd/man8/rpc.statd.8 create mode 100644 static/openbsd/man8/rpcinfo.8 create mode 100644 static/openbsd/man8/rpki-client.8 create mode 100644 static/openbsd/man8/sa.8 create mode 100644 static/openbsd/man8/sasyncd.8 create mode 100644 static/openbsd/man8/savecore.8 create mode 100644 static/openbsd/man8/scan_ffs.8 create mode 100644 static/openbsd/man8/scsi.8 create mode 100644 static/openbsd/man8/sendmail.8 create mode 100644 static/openbsd/man8/sensorsd.8 create mode 100644 static/openbsd/man8/setnetbootinfo.8 create mode 100644 static/openbsd/man8/sftp-server.8 create mode 100644 static/openbsd/man8/showmount.8 create mode 100644 static/openbsd/man8/shutdown.8 create mode 100644 static/openbsd/man8/skeyprune.8 create mode 100644 static/openbsd/man8/slaacctl.8 create mode 100644 static/openbsd/man8/slaacd.8 create mode 100644 static/openbsd/man8/slowcgi.8 create mode 100644 static/openbsd/man8/smtpctl.8 create mode 100644 static/openbsd/man8/smtpd.8 create mode 100644 static/openbsd/man8/sndiod.8 create mode 100644 static/openbsd/man8/snmpd.8 create mode 100644 static/openbsd/man8/snmpd_metrics.8 create mode 100644 static/openbsd/man8/spamd-setup.8 create mode 100644 static/openbsd/man8/spamd.8 create mode 100644 static/openbsd/man8/spamdb.8 create mode 100644 static/openbsd/man8/spamlogd.8 create mode 100644 static/openbsd/man8/ssh-keysign.8 create mode 100644 static/openbsd/man8/ssh-pkcs11-helper.8 create mode 100644 static/openbsd/man8/ssh-sk-helper.8 create mode 100644 static/openbsd/man8/sshd.8 create mode 100644 static/openbsd/man8/strfile.8 create mode 100644 static/openbsd/man8/swapctl.8 create mode 100644 static/openbsd/man8/swapon.8 create mode 100644 static/openbsd/man8/sync.8 create mode 100644 static/openbsd/man8/sysctl.8 create mode 100644 static/openbsd/man8/syslogc.8 create mode 100644 static/openbsd/man8/syslogd.8 create mode 100644 static/openbsd/man8/sysmerge.8 create mode 100644 static/openbsd/man8/syspatch.8 create mode 100644 static/openbsd/man8/sysupgrade.8 create mode 100644 static/openbsd/man8/talkd.8 create mode 100644 static/openbsd/man8/tcpdrop.8 create mode 100644 static/openbsd/man8/tcpdump.8 create mode 100644 static/openbsd/man8/tftp-proxy.8 create mode 100644 static/openbsd/man8/tftpd.8 create mode 100644 static/openbsd/man8/tokenadm.8 create mode 100644 static/openbsd/man8/tokeninit.8 create mode 100644 static/openbsd/man8/traceroute.8 create mode 100644 static/openbsd/man8/trpt.8 create mode 100644 static/openbsd/man8/ttyflags.8 create mode 100644 static/openbsd/man8/tunefs.8 create mode 100644 static/openbsd/man8/umount.8 create mode 100644 static/openbsd/man8/unwind.8 create mode 100644 static/openbsd/man8/unwindctl.8 create mode 100644 static/openbsd/man8/usbdevs.8 create mode 100644 static/openbsd/man8/user.8 create mode 100644 static/openbsd/man8/useradd.8 create mode 100644 static/openbsd/man8/userdel.8 create mode 100644 static/openbsd/man8/userinfo.8 create mode 100644 static/openbsd/man8/usermod.8 create mode 100644 static/openbsd/man8/vipw.8 create mode 100644 static/openbsd/man8/vmctl.8 create mode 100644 static/openbsd/man8/vmd.8 create mode 100644 static/openbsd/man8/vmstat.8 create mode 100644 static/openbsd/man8/vnconfig.8 create mode 100644 static/openbsd/man8/watchdogd.8 create mode 100644 static/openbsd/man8/wsconscfg.8 create mode 100644 static/openbsd/man8/wsconsctl.8 create mode 100644 static/openbsd/man8/wsfontload.8 create mode 100644 static/openbsd/man8/wsmoused.8 create mode 100644 static/openbsd/man8/xxboot.8 create mode 100644 static/openbsd/man8/ypbind.8 create mode 100644 static/openbsd/man8/ypinit.8 create mode 100644 static/openbsd/man8/ypldap.8 create mode 100644 static/openbsd/man8/yppoll.8 create mode 100644 static/openbsd/man8/yppush.8 create mode 100644 static/openbsd/man8/ypserv.8 create mode 100644 static/openbsd/man8/ypset.8 create mode 100644 static/openbsd/man8/ypxfr.8 create mode 100644 static/openbsd/man8/zdump.8 create mode 100644 static/openbsd/man8/zic.8 (limited to 'static') diff --git a/static/openbsd/Makefile b/static/openbsd/Makefile index 95d7cd73..926cf160 100644 --- a/static/openbsd/Makefile +++ b/static/openbsd/Makefile @@ -7,5 +7,7 @@ SUBDIRS = man1 \ man8 \ man9 +export OS="OpenBSD 7.8" + include ../subdir.mk diff --git a/static/openbsd/man1/acme-client.1 b/static/openbsd/man1/acme-client.1 new file mode 100644 index 00000000..9172faaf --- /dev/null +++ b/static/openbsd/man1/acme-client.1 @@ -0,0 +1,164 @@ +.\" $OpenBSD: acme-client.1,v 1.43 2025/09/18 14:13:27 sthen Exp $ +.\" +.\" Copyright (c) 2016 Kristaps Dzonsons +.\" +.\" Permission to use, copy, modify, and distribute this software for any +.\" purpose with or without fee is hereby granted, provided that the above +.\" copyright notice and this permission notice appear in all copies. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +.\" +.Dd $Mdocdate: September 18 2025 $ +.Dt ACME-CLIENT 1 +.Os +.Sh NAME +.Nm acme-client +.Nd ACME client +.Sh SYNOPSIS +.Nm acme-client +.Op Fl Fnrv +.Op Fl f Ar configfile +.Ar handle +.Sh DESCRIPTION +.Nm +is an +Automatic Certificate Management Environment (ACME) client: +it looks in its configuration for a domain section +corresponding to the +.Ar handle +given as command line argument +and uses that configuration to retrieve an X.509 certificate +which can be used to provide domain name validation +(i.e. prove that the domain is who it says it is). +The certificates are typically used to provide HTTPS for web servers, +but can be used in any situation where domain name validation is required +(such as mail servers). +.Pp +If the certificate already exists and is close to expiry, +.Nm +attempts to renew the certificate. +For certificates with a lifetime of more than 10 days, this is done when +less than a third of the lifetime remains. +Otherwise, renewal is done when half the lifetime has expired. +.Pp +In order to prove that the client has access to the domain, +a challenge is issued by the signing authority. +.Nm +implements the +.Dq http-01 +challenge type, where a file is created within a directory accessible +by a locally run web server. +The default challenge directory +.Pa /var/www/acme +can be served by +.Xr httpd 8 +with this location block, +which will properly map response challenges: +.Bd -literal -offset indent +location "/.well-known/acme-challenge/*" { + root "/acme" + request strip 2 +} +.Ed +.Pp +The options are as follows: +.Bl -tag -width Ds +.It Fl F +Force certificate renewal, regardless of remaining lifetime. +.It Fl f Ar configfile +Specify an alternative configuration file. +.It Fl n +No operation: check and print configuration. +.It Fl r +Revoke the X.509 certificate. +.It Fl v +Verbose operation. +Specify twice to also trace communication and data transfers. +.It Ar handle +The handle of the domain section of the configuration that contains the +details of the certificate to be created, renewed or revoked. +.El +.Sh FILES +.Bl -tag -width "/etc/acme-client.conf" -compact +.It Pa /etc/acme +Private keys for +.Nm . +.It Pa /etc/acme-client.conf +Default configuration. +.It Pa /var/www/acme +Default challengedir. +.El +.Sh EXIT STATUS +.Nm +returns 0 if certificates were changed (revoked or updated), +1 on failure, +or +2 if the certificates didn't change (up to date). +.Sh EXAMPLES +Example configuration files for +.Nm +and +.Xr httpd 8 +are provided in +.Pa /etc/examples/acme-client.conf +and +.Pa /etc/examples/httpd.conf . +.Pp +To generate a certificate for example.com and use it to provide HTTPS, +create +.Pa acme-client.conf +and +.Pa httpd.conf +and run: +.Pp +.Dl # acme-client -v example.com && rcctl reload httpd +.Pp +A +.Xr cron 8 +job can renew the certificate as necessary. +On renewal, +.Xr httpd 8 +is reloaded: +.Bd -literal -offset indent +~ * * * * acme-client example.com && rcctl reload httpd +.Ed +.Sh SEE ALSO +.Xr openssl 1 , +.Xr acme-client.conf 5 , +.Xr httpd.conf 5 , +.Xr ssl 8 +.Sh STANDARDS +.Rs +.%A R. Barnes +.%A J. Hoffman-Andrews +.%A D. McCarney +.%A J. Kasten +.%D March 2019 +.%R RFC 8555 +.%T Automatic Certificate Management Environment (ACME) +.Re +.Sh HISTORY +The +.Nm +utility first appeared in +.Ox 6.1 . +.Sh AUTHORS +The +.Nm +utility was written by +.An Kristaps Dzonsons Aq Mt kristaps@bsd.lv . +.Sh CAVEATS +The usual ACME service providers are notoriously picky about +authenticating rules, and yield fairly long time-outs after just a +few invalid attempts. +It is strongly suggested to first validate a configuration with a +staging server before moving an official certificate validation +workflow to +.Xr crontab 5 +status. diff --git a/static/openbsd/man1/addr2line.1 b/static/openbsd/man1/addr2line.1 new file mode 100644 index 00000000..5808d658 --- /dev/null +++ b/static/openbsd/man1/addr2line.1 @@ -0,0 +1,230 @@ +.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14 +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sh \" Subsection heading +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. | will give a +.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to +.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' +.\" expand to `' in nroff, nothing in troff, for use with C<>. +.tr \(*W-|\(bv\*(Tr +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.if \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.\" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.hy 0 +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "ADDR2LINE 1" +.TH ADDR2LINE 1 "2004-04-09" "binutils-2.14.91" "GNU Development Tools" +.SH "NAME" +addr2line \- convert addresses into file names and line numbers. +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +addr2line [\fB\-b\fR \fIbfdname\fR|\fB\-\-target=\fR\fIbfdname\fR] + [\fB\-C\fR|\fB\-\-demangle\fR[=\fIstyle\fR]] + [\fB\-e\fR \fIfilename\fR|\fB\-\-exe=\fR\fIfilename\fR] + [\fB\-f\fR|\fB\-\-functions\fR] [\fB\-s\fR|\fB\-\-basename\fR] + [\fB\-H\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR] + [addr addr ...] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +\&\fBaddr2line\fR translates program addresses into file names and line +numbers. Given an address and an executable, it uses the debugging +information in the executable to figure out which file name and line +number are associated with a given address. +.PP +The executable to use is specified with the \fB\-e\fR option. The +default is the file \fIa.out\fR. +.PP +\&\fBaddr2line\fR has two modes of operation. +.PP +In the first, hexadecimal addresses are specified on the command line, +and \fBaddr2line\fR displays the file name and line number for each +address. +.PP +In the second, \fBaddr2line\fR reads hexadecimal addresses from +standard input, and prints the file name and line number for each +address on standard output. In this mode, \fBaddr2line\fR may be used +in a pipe to convert dynamically chosen addresses. +.PP +The format of the output is \fB\s-1FILENAME:LINENO\s0\fR. The file name and +line number for each address is printed on a separate line. If the +\&\fB\-f\fR option is used, then each \fB\s-1FILENAME:LINENO\s0\fR line is +preceded by a \fB\s-1FUNCTIONNAME\s0\fR line which is the name of the function +containing the address. +.PP +If the file name or function name can not be determined, +\&\fBaddr2line\fR will print two question marks in their place. If the +line number can not be determined, \fBaddr2line\fR will print 0. +.SH "OPTIONS" +.IX Header "OPTIONS" +The long and short forms of options, shown here as alternatives, are +equivalent. +.IP "\fB\-b\fR \fIbfdname\fR" 4 +.IX Item "-b bfdname" +.PD 0 +.IP "\fB\-\-target=\fR\fIbfdname\fR" 4 +.IX Item "--target=bfdname" +.PD +Specify that the object-code format for the object files is +\&\fIbfdname\fR. +.IP "\fB\-C\fR" 4 +.IX Item "-C" +.PD 0 +.IP "\fB\-\-demangle[=\fR\fIstyle\fR\fB]\fR" 4 +.IX Item "--demangle[=style]" +.PD +Decode (\fIdemangle\fR) low-level symbol names into user-level names. +Besides removing any initial underscore prepended by the system, this +makes \*(C+ function names readable. Different compilers have different +mangling styles. The optional demangling style argument can be used to +choose an appropriate demangling style for your compiler. +.IP "\fB\-e\fR \fIfilename\fR" 4 +.IX Item "-e filename" +.PD 0 +.IP "\fB\-\-exe=\fR\fIfilename\fR" 4 +.IX Item "--exe=filename" +.PD +Specify the name of the executable for which addresses should be +translated. The default file is \fIa.out\fR. +.IP "\fB\-f\fR" 4 +.IX Item "-f" +.PD 0 +.IP "\fB\-\-functions\fR" 4 +.IX Item "--functions" +.PD +Display function names as well as file and line number information. +.IP "\fB\-s\fR" 4 +.IX Item "-s" +.PD 0 +.IP "\fB\-\-basenames\fR" 4 +.IX Item "--basenames" +.PD +Display only the base of each file name. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +Info entries for \fIbinutils\fR. +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright (c) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, +2001, 2002, 2003 Free Software Foundation, Inc. +.PP +Permission is granted to copy, distribute and/or modify this document +under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.1 +or any later version published by the Free Software Foundation; +with no Invariant Sections, with no Front-Cover Texts, and with no +Back-Cover Texts. A copy of the license is included in the +section entitled ``\s-1GNU\s0 Free Documentation License''. diff --git a/static/openbsd/man1/apply.1 b/static/openbsd/man1/apply.1 new file mode 100644 index 00000000..ca34ea58 --- /dev/null +++ b/static/openbsd/man1/apply.1 @@ -0,0 +1,145 @@ +.\" $OpenBSD: apply.1,v 1.24 2014/09/08 01:27:55 schwarze Exp $ +.\" $NetBSD: apply.1,v 1.4 1996/03/18 23:16:57 jtc Exp $ +.\" +.\" Copyright (c) 1983, 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. 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. +.\" +.\" @(#)apply.1 8.2 (Berkeley) 4/4/94 +.\" +.Dd $Mdocdate: September 8 2014 $ +.Dt APPLY 1 +.Os +.Sh NAME +.Nm apply +.Nd apply a command to a set of arguments +.Sh SYNOPSIS +.Nm apply +.Op Fl Ar # +.Op Fl d +.Op Fl a Ar magic +.Ar command argument ... +.Sh DESCRIPTION +.Nm +runs the named +.Ar command +on each given +.Ar argument +in turn. +.Pp +Character sequences of the form +.Dq Li \&%d +in +.Ar command , +where +.Sq d +is a digit from 1 to 9, are replaced by the +.Li d Ns 'th +following unused +.Ar argument . +In this case, the largest digit number of arguments are discarded for +each execution of +.Ar command . +.Pp +The options are as follows: +.Bl -tag -width Ds +.It Fl Ns Ar # +Normally arguments are taken singly; the optional number +.Fl Ns Ar # +specifies the number of arguments to be passed to +.Ar command . +If the number is zero, +.Ar command +is run, without arguments, once for each +.Ar argument . +.Pp +If any sequences of +.Dq Li \&%d +occur in +.Ar command , +the +.Fl Ns Ar # +option is ignored. +.It Fl a Ar magic +Use +.Ar magic +as the magic character instead of the default +.Ql % . +.It Fl d +Debug mode. +Print commands to the standard output but do not actually execute them. +.El +.Sh ENVIRONMENT +.Bl -tag -width SHELL +.It Ev SHELL +Pathname of shell to use. +If this variable is not defined, the Bourne shell is used. +.El +.Sh FILES +.Bl -tag -width /bin/sh -compact +.It Pa /bin/sh +default shell +.El +.Sh EXAMPLES +Operate similar to +.Xr ls 1 : +.Pp +.Dl "$ apply echo *" +.Pp +Compare the +.Pa a* +files to the +.Pa b* +files: +.Pp +.Dl "$ apply -2 cmp a1 b1 a2 b2 a3 b3" +.Pp +Run +.Xr who 1 +five times: +.Pp +.Dl "$ apply -0 who 1 2 3 4 5" +.Pp +Link all files in the current directory to the directory +.Pa /home/joe : +.Pp +.Dl "$ apply 'ln %1 /home/joe'" * +.Sh SEE ALSO +.Xr sh 1 , +.Xr xargs 1 +.Sh HISTORY +The +.Nm +command appeared in +.Bx 4.2 . +.Sh AUTHORS +.An Rob Pike +.Sh BUGS +Shell metacharacters in +.Ar command +may have bizarre effects; it is best to enclose complicated +commands in single quotes +.Pq '' . diff --git a/static/openbsd/man1/apropos.1 b/static/openbsd/man1/apropos.1 new file mode 100644 index 00000000..5f1229f8 --- /dev/null +++ b/static/openbsd/man1/apropos.1 @@ -0,0 +1,513 @@ +.\" $OpenBSD: apropos.1,v 1.45 2020/10/01 22:47:26 schwarze Exp $ +.\" +.\" Copyright (c) 2011, 2012 Kristaps Dzonsons +.\" Copyright (c) 2011,2012,2014,2017,2018 Ingo Schwarze +.\" +.\" Permission to use, copy, modify, and distribute this software for any +.\" purpose with or without fee is hereby granted, provided that the above +.\" copyright notice and this permission notice appear in all copies. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +.\" +.Dd $Mdocdate: October 1 2020 $ +.Dt APROPOS 1 +.Os +.Sh NAME +.Nm apropos , +.Nm whatis +.Nd search manual page databases +.Sh SYNOPSIS +.Nm +.Op Fl afk +.Op Fl C Ar file +.Op Fl M Ar path +.Op Fl m Ar path +.Op Fl O Ar outkey +.Op Fl S Ar arch +.Op Fl s Ar section +.Ar expression ... +.Sh DESCRIPTION +The +.Nm apropos +and +.Nm whatis +utilities query manual page databases generated by +.Xr makewhatis 8 , +evaluating +.Ar expression +for each file in each database. +By default, they display the names, section numbers, and description lines +of all matching manuals. +.Pp +By default, +.Nm +searches for +.Xr makewhatis 8 +databases in the default paths stipulated by +.Xr man 1 +and uses case-insensitive extended regular expression matching +over manual names and descriptions +.Pq the Li \&Nm No and Li \&Nd No macro keys . +Multiple terms imply pairwise +.Fl o . +.Pp +.Nm whatis +is a synonym for +.Nm +.Fl f . +.Pp +The options are as follows: +.Bl -tag -width Ds +.It Fl a +Instead of showing only the title lines, show the complete manual pages, +just like +.Xr man 1 +.Fl a +would. +If the standard output is a terminal device and +.Fl c +is not specified, use +.Xr less 1 +to paginate them. +In +.Fl a +mode, the options +.Fl IKOTW +described in the +.Xr mandoc 1 +manual are also available. +.It Fl C Ar file +Specify an alternative configuration +.Ar file +in +.Xr man.conf 5 +format. +.It Fl f +Search for all words in +.Ar expression +in manual page names only. +The search is case-insensitive and matches whole words only. +In this mode, macro keys, comparison operators, and logical operators +are not available. +.It Fl k +Support the full +.Ar expression +syntax. +It is the default for +.Nm . +.It Fl M Ar path +Use the colon-separated path instead of the default list of paths +searched for +.Xr makewhatis 8 +databases. +Invalid paths, or paths without manual databases, are ignored. +.It Fl m Ar path +Prepend the colon-separated paths to the list of paths searched +for +.Xr makewhatis 8 +databases. +Invalid paths, or paths without manual databases, are ignored. +.It Fl O Ar outkey +Show the values associated with the key +.Ar outkey +instead of the manual descriptions. +.It Fl S Ar arch +Restrict the search to pages for the specified +.Xr machine 1 +architecture. +.Ar arch +is case-insensitive. +By default, pages for all architectures are shown. +.It Fl s Ar section +Restrict the search to the specified section of the manual. +By default, pages from all sections are shown. +See +.Xr man 1 +for a listing of sections. +.El +.Pp +The options +.Fl chlw +are also supported and are documented in +.Xr man 1 . +The options +.Fl fkl +are mutually exclusive and override each other. +.Pp +An +.Ar expression +consists of search terms joined by logical operators +.Fl a +.Pq and +and +.Fl o +.Pq or . +The +.Fl a +operator has precedence over +.Fl o +and both are evaluated left-to-right. +.Bl -tag -width Ds +.It \&( Ar expr No \&) +True if the subexpression +.Ar expr +is true. +.It Ar expr1 Fl a Ar expr2 +True if both +.Ar expr1 +and +.Ar expr2 +are true (logical +.Sq and ) . +.It Ar expr1 Oo Fl o Oc Ar expr2 +True if +.Ar expr1 +and/or +.Ar expr2 +evaluate to true (logical +.Sq or ) . +.It Ar term +True if +.Ar term +is satisfied. +This has syntax +.Sm off +.Oo +.Op Ar key Op , Ar key ... +.Pq Cm = | \(ti +.Oc +.Ar val , +.Sm on +where +.Ar key +is an +.Xr mdoc 7 +macro to query and +.Ar val +is its value. +See +.Sx Macro Keys +for a list of available keys. +Operator +.Cm = +evaluates a substring, while +.Cm \(ti +evaluates a case-sensitive extended regular expression. +.It Fl i Ar term +If +.Ar term +is a regular expression, it +is evaluated case-insensitively. +Has no effect on substring terms. +.El +.Pp +Results are sorted first according to the section number in ascending +numerical order, then by the page name in ascending +.Xr ascii 7 +alphabetical order, case-insensitive. +.Pp +Each output line is formatted as +.Pp +.D1 name[, name...](sec) \- description +.Pp +Where +.Dq name +is the manual's name, +.Dq sec +is the manual section, and +.Dq description +is the manual's short description. +If an architecture is specified for the manual, it is displayed as +.Pp +.D1 name(sec/arch) \- description +.Pp +Resulting manuals may be accessed as +.Pp +.Dl $ man \-s sec name +.Pp +If an architecture is specified in the output, use +.Pp +.Dl $ man \-s sec \-S arch name +.Ss Macro Keys +Queries evaluate over a subset of +.Xr mdoc 7 +macros indexed by +.Xr makewhatis 8 . +In addition to the macro keys listed below, the special key +.Cm any +may be used to match any available macro key. +.Pp +Names and description: +.Bl -column "xLix" description -offset indent -compact +.It Li \&Nm Ta manual name +.It Li \&Nd Ta one-line manual description +.It Li arch Ta machine architecture (case-insensitive) +.It Li sec Ta manual section number +.El +.Pp +Sections and cross references: +.Bl -column "xLix" description -offset indent -compact +.It Li \&Sh Ta section header (excluding standard sections) +.It Li \&Ss Ta subsection header +.It Li \&Xr Ta cross reference to another manual page +.It Li \&Rs Ta bibliographic reference +.El +.Pp +Semantic markup for command line utilities: +.Bl -column "xLix" description -offset indent -compact +.It Li \&Fl Ta command line options (flags) +.It Li \&Cm Ta command modifier +.It Li \&Ar Ta command argument +.It Li \&Ic Ta internal or interactive command +.It Li \&Ev Ta environmental variable +.It Li \&Pa Ta file system path +.El +.Pp +Semantic markup for function libraries: +.Bl -column "xLix" description -offset indent -compact +.It Li \&Lb Ta function library name +.It Li \&In Ta include file +.It Li \&Ft Ta function return type +.It Li \&Fn Ta function name +.It Li \&Fa Ta function argument type and name +.It Li \&Vt Ta variable type +.It Li \&Va Ta variable name +.It Li \&Dv Ta defined variable or preprocessor constant +.It Li \&Er Ta error constant +.It Li \&Ev Ta environmental variable +.El +.Pp +Various semantic markup: +.Bl -column "xLix" description -offset indent -compact +.It Li \&An Ta author name +.It Li \&Lk Ta hyperlink +.It Li \&Mt Ta Do mailto Dc hyperlink +.It Li \&Cd Ta kernel configuration declaration +.It Li \&Ms Ta mathematical symbol +.It Li \&Tn Ta tradename +.El +.Pp +Physical markup: +.Bl -column "xLix" description -offset indent -compact +.It Li \&Em Ta italic font or underline +.It Li \&Sy Ta boldface font +.It Li \&Li Ta typewriter font +.El +.Pp +Text production: +.Bl -column "xLix" description -offset indent -compact +.It Li \&St Ta reference to a standards document +.It Li \&At Ta At No version reference +.It Li \&Bx Ta Bx No version reference +.It Li \&Bsx Ta Bsx No version reference +.It Li \&Nx Ta Nx No version reference +.It Li \&Fx Ta Fx No version reference +.It Li \&Ox Ta Ox No version reference +.It Li \&Dx Ta Dx No version reference +.El +.Pp +In general, macro keys are supposed to yield complete results without +expecting the user to consider actual macro usage. +For example, results include: +.Pp +.Bl -tag -width 3n -offset 3n -compact +.It Li \&Fa +function arguments appearing on +.Ic \&Fn +lines +.It Li \&Fn +function names marked up with +.Ic \&Fo +macros +.It Li \&In +include file names marked up with +.Ic \&Fd +macros +.It Li \&Vt +types appearing as function return types and +.It \& +types appearing in function arguments in the SYNOPSIS +.El +.Sh ENVIRONMENT +.Bl -tag -width MANPAGER +.It Ev MANPAGER +Any non-empty value of the environment variable +.Ev MANPAGER +is used instead of the standard pagination program, +.Xr less 1 ; +see +.Xr man 1 +for details. +Only used if +.Fl a +or +.Fl l +is specified. +.It Ev MANPATH +A colon-separated list of directories to search for manual pages; see +.Xr man 1 +for details. +Overridden by +.Fl M , +ignored if +.Fl l +is specified. +.It Ev PAGER +Specifies the pagination program to use when +.Ev MANPAGER +is not defined. +If neither PAGER nor MANPAGER is defined, +.Xr less 1 +is used. +Only used if +.Fl a +or +.Fl l +is specified. +.El +.Sh FILES +.Bl -tag -width "/etc/man.conf" -compact +.It Pa mandoc.db +name of the +.Xr makewhatis 8 +keyword database +.It Pa /etc/man.conf +default +.Xr man 1 +configuration file +.El +.Sh EXIT STATUS +.Ex -std +.Sh EXAMPLES +Search for +.Qq .cf +as a substring of manual names and descriptions: +.Pp +.Dl $ apropos =.cf +.Pp +Include matches for +.Qq .cnf +and +.Qq .conf +as well: +.Pp +.Dl $ apropos =.cf =.cnf =.conf +.Pp +Search in names and descriptions using a case-sensitive regular expression: +.Pp +.Dl $ apropos \(aq\(tiset.?[ug]id\(aq +.Pp +Search for all manual pages in a given section: +.Pp +.Dl $ apropos \-s 9 \&. +.Pp +Search for manuals in the library section mentioning both the +.Qq optind +and the +.Qq optarg +variables: +.Pp +.Dl $ apropos \-s 3 Va=optind \-a Va=optarg +.Pp +Do exactly the same as calling +.Nm whatis +with the argument +.Qq ssh : +.Pp +.Dl $ apropos \-\- \-i \(aqNm\(ti[[:<:]]ssh[[:>:]]\(aq +.Pp +The following two invocations are equivalent: +.Pp +.D1 Li $ apropos -S Ar arch Li -s Ar section expression +.Bd -ragged -offset indent +.Li $ apropos \e( Ar expression Li \e) +.Li -a arch\(ti^( Ns Ar arch Ns Li |any)$ +.Li -a sec\(ti^ Ns Ar section Ns Li $ +.Ed +.Sh SEE ALSO +.Xr man 1 , +.Xr re_format 7 , +.Xr makewhatis 8 +.Sh STANDARDS +The +.Nm +utility is compliant with the +.St -p1003.1-2008 +specification of +.Xr man 1 +.Fl k . +.Pp +All options, the +.Nm whatis +command, support for logical operators, macro keys, +substring matching, sorting of results, the environment variables +.Ev MANPAGER +and +.Ev MANPATH , +the database format, and the configuration file +are extensions to that specification. +.Sh HISTORY +Part of the functionality of +.Nm whatis +was already provided by the former +.Nm manwhere +utility in +.Bx 1 . +The +.Nm +and +.Nm whatis +utilities first appeared in +.Bx 2 . +They were rewritten from scratch for +.Ox 5.6 . +.Pp +The +.Fl M +option and the +.Ev MANPATH +variable first appeared in +.Bx 4.3 ; +.Fl m +in +.Bx 4.3 Reno ; +.Fl C +in +.Bx 4.4 Lite1 ; +and +.Fl S +and +.Fl s +in +.Ox 4.5 +for +.Nm +and in +.Ox 5.6 +for +.Nm whatis . +The options +.Fl acfhIKklOTWw +appeared in +.Ox 5.7 . +.Sh AUTHORS +.An -nosplit +.An Bill Joy +wrote +.Nm manwhere +in 1977 and the original +.Bx +.Nm +and +.Nm whatis +in February 1979. +The current version was written by +.An Kristaps Dzonsons Aq Mt kristaps@bsd.lv +and +.An Ingo Schwarze Aq Mt schwarze@openbsd.org . diff --git a/static/openbsd/man1/ar.1 b/static/openbsd/man1/ar.1 new file mode 100644 index 00000000..6708cf43 --- /dev/null +++ b/static/openbsd/man1/ar.1 @@ -0,0 +1,377 @@ +.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14 +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sh \" Subsection heading +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. | will give a +.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to +.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' +.\" expand to `' in nroff, nothing in troff, for use with C<>. +.tr \(*W-|\(bv\*(Tr +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.if \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.\" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.hy 0 +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "AR 1" +.TH AR 1 "2004-04-09" "binutils-2.14.91" "GNU Development Tools" +.SH "NAME" +ar \- create, modify, and extract from archives +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +ar [\fB\-X32_64\fR] [\fB\-\fR]\fIp\fR[\fImod\fR [\fIrelpos\fR] [\fIcount\fR]] \fIarchive\fR [\fImember\fR...] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +The \s-1GNU\s0 \fBar\fR program creates, modifies, and extracts from +archives. An \fIarchive\fR is a single file holding a collection of +other files in a structure that makes it possible to retrieve +the original individual files (called \fImembers\fR of the archive). +.PP +The original files' contents, mode (permissions), timestamp, owner, and +group are preserved in the archive, and can be restored on +extraction. +.PP +\&\s-1GNU\s0 \fBar\fR can maintain archives whose members have names of any +length; however, depending on how \fBar\fR is configured on your +system, a limit on member-name length may be imposed for compatibility +with archive formats maintained with other tools. If it exists, the +limit is often 15 characters (typical of formats related to a.out) or 16 +characters (typical of formats related to coff). +.PP +\&\fBar\fR is considered a binary utility because archives of this sort +are most often used as \fIlibraries\fR holding commonly needed +subroutines. +.PP +\&\fBar\fR creates an index to the symbols defined in relocatable +object modules in the archive when you specify the modifier \fBs\fR. +Once created, this index is updated in the archive whenever \fBar\fR +makes a change to its contents (save for the \fBq\fR update operation). +An archive with such an index speeds up linking to the library, and +allows routines in the library to call each other without regard to +their placement in the archive. +.PP +You may use \fBnm \-s\fR or \fBnm \-\-print\-armap\fR to list this index +table. If an archive lacks the table, another form of \fBar\fR called +\&\fBranlib\fR can be used to add just the table. +.PP +\&\s-1GNU\s0 \fBar\fR is designed to be compatible with two different +facilities. You can control its activity using command-line options, +like the different varieties of \fBar\fR on Unix systems; or, if you +specify the single command-line option \fB\-M\fR, you can control it +with a script supplied via standard input, like the \s-1MRI\s0 ``librarian'' +program. +.SH "OPTIONS" +.IX Header "OPTIONS" +\&\s-1GNU\s0 \fBar\fR allows you to mix the operation code \fIp\fR and modifier +flags \fImod\fR in any order, within the first command-line argument. +.PP +If you wish, you may begin the first command-line argument with a +dash. +.PP +The \fIp\fR keyletter specifies what operation to execute; it may be +any of the following, but you must specify only one of them: +.IP "\fBd\fR" 4 +.IX Item "d" +\&\fIDelete\fR modules from the archive. Specify the names of modules to +be deleted as \fImember\fR...; the archive is untouched if you +specify no files to delete. +.Sp +If you specify the \fBv\fR modifier, \fBar\fR lists each module +as it is deleted. +.IP "\fBm\fR" 4 +.IX Item "m" +Use this operation to \fImove\fR members in an archive. +.Sp +The ordering of members in an archive can make a difference in how +programs are linked using the library, if a symbol is defined in more +than one member. +.Sp +If no modifiers are used with \f(CW\*(C`m\*(C'\fR, any members you name in the +\&\fImember\fR arguments are moved to the \fIend\fR of the archive; +you can use the \fBa\fR, \fBb\fR, or \fBi\fR modifiers to move them to a +specified place instead. +.IP "\fBp\fR" 4 +.IX Item "p" +\&\fIPrint\fR the specified members of the archive, to the standard +output file. If the \fBv\fR modifier is specified, show the member +name before copying its contents to standard output. +.Sp +If you specify no \fImember\fR arguments, all the files in the archive are +printed. +.IP "\fBq\fR" 4 +.IX Item "q" +\&\fIQuick append\fR; Historically, add the files \fImember\fR... to the end of +\&\fIarchive\fR, without checking for replacement. +.Sp +The modifiers \fBa\fR, \fBb\fR, and \fBi\fR do \fInot\fR affect this +operation; new members are always placed at the end of the archive. +.Sp +The modifier \fBv\fR makes \fBar\fR list each file as it is appended. +.Sp +Since the point of this operation is speed, the archive's symbol table +index is not updated, even if it already existed; you can use \fBar s\fR or +\&\fBranlib\fR explicitly to update the symbol table index. +.Sp +However, too many different systems assume quick append rebuilds the +index, so \s-1GNU\s0 \fBar\fR implements \fBq\fR as a synonym for \fBr\fR. +.IP "\fBr\fR" 4 +.IX Item "r" +Insert the files \fImember\fR... into \fIarchive\fR (with +\&\fIreplacement\fR). This operation differs from \fBq\fR in that any +previously existing members are deleted if their names match those being +added. +.Sp +If one of the files named in \fImember\fR... does not exist, \fBar\fR +displays an error message, and leaves undisturbed any existing members +of the archive matching that name. +.Sp +By default, new members are added at the end of the file; but you may +use one of the modifiers \fBa\fR, \fBb\fR, or \fBi\fR to request +placement relative to some existing member. +.Sp +The modifier \fBv\fR used with this operation elicits a line of +output for each file inserted, along with one of the letters \fBa\fR or +\&\fBr\fR to indicate whether the file was appended (no old member +deleted) or replaced. +.IP "\fBt\fR" 4 +.IX Item "t" +Display a \fItable\fR listing the contents of \fIarchive\fR, or those +of the files listed in \fImember\fR... that are present in the +archive. Normally only the member name is shown; if you also want to +see the modes (permissions), timestamp, owner, group, and size, you can +request that by also specifying the \fBv\fR modifier. +.Sp +If you do not specify a \fImember\fR, all files in the archive +are listed. +.Sp +If there is more than one file with the same name (say, \fBfie\fR) in +an archive (say \fBb.a\fR), \fBar t b.a fie\fR lists only the +first instance; to see them all, you must ask for a complete +listing\-\-\-in our example, \fBar t b.a\fR. +.IP "\fBx\fR" 4 +.IX Item "x" +\&\fIExtract\fR members (named \fImember\fR) from the archive. You can +use the \fBv\fR modifier with this operation, to request that +\&\fBar\fR list each name as it extracts it. +.Sp +If you do not specify a \fImember\fR, all files in the archive +are extracted. +.PP +A number of modifiers (\fImod\fR) may immediately follow the \fIp\fR +keyletter, to specify variations on an operation's behavior: +.IP "\fBa\fR" 4 +.IX Item "a" +Add new files \fIafter\fR an existing member of the +archive. If you use the modifier \fBa\fR, the name of an existing archive +member must be present as the \fIrelpos\fR argument, before the +\&\fIarchive\fR specification. +.IP "\fBb\fR" 4 +.IX Item "b" +Add new files \fIbefore\fR an existing member of the +archive. If you use the modifier \fBb\fR, the name of an existing archive +member must be present as the \fIrelpos\fR argument, before the +\&\fIarchive\fR specification. (same as \fBi\fR). +.IP "\fBc\fR" 4 +.IX Item "c" +\&\fICreate\fR the archive. The specified \fIarchive\fR is always +created if it did not exist, when you request an update. But a warning is +issued unless you specify in advance that you expect to create it, by +using this modifier. +.IP "\fBf\fR" 4 +.IX Item "f" +Truncate names in the archive. \s-1GNU\s0 \fBar\fR will normally permit file +names of any length. This will cause it to create archives which are +not compatible with the native \fBar\fR program on some systems. If +this is a concern, the \fBf\fR modifier may be used to truncate file +names when putting them in the archive. +.IP "\fBi\fR" 4 +.IX Item "i" +Insert new files \fIbefore\fR an existing member of the +archive. If you use the modifier \fBi\fR, the name of an existing archive +member must be present as the \fIrelpos\fR argument, before the +\&\fIarchive\fR specification. (same as \fBb\fR). +.IP "\fBl\fR" 4 +.IX Item "l" +This modifier is accepted but not used. +.IP "\fBN\fR" 4 +.IX Item "N" +Uses the \fIcount\fR parameter. This is used if there are multiple +entries in the archive with the same name. Extract or delete instance +\&\fIcount\fR of the given name from the archive. +.IP "\fBo\fR" 4 +.IX Item "o" +Preserve the \fIoriginal\fR dates of members when extracting them. If +you do not specify this modifier, files extracted from the archive +are stamped with the time of extraction. +.IP "\fBP\fR" 4 +.IX Item "P" +Use the full path name when matching names in the archive. \s-1GNU\s0 +\&\fBar\fR can not create an archive with a full path name (such archives +are not \s-1POSIX\s0 complaint), but other archive creators can. This option +will cause \s-1GNU\s0 \fBar\fR to match file names using a complete path +name, which can be convenient when extracting a single file from an +archive created by another tool. +.IP "\fBs\fR" 4 +.IX Item "s" +Write an object-file index into the archive, or update an existing one, +even if no other change is made to the archive. You may use this modifier +flag either with any operation, or alone. Running \fBar s\fR on an +archive is equivalent to running \fBranlib\fR on it. +.IP "\fBS\fR" 4 +.IX Item "S" +Do not generate an archive symbol table. This can speed up building a +large library in several steps. The resulting archive can not be used +with the linker. In order to build a symbol table, you must omit the +\&\fBS\fR modifier on the last execution of \fBar\fR, or you must run +\&\fBranlib\fR on the archive. +.IP "\fBu\fR" 4 +.IX Item "u" +Normally, \fBar r\fR... inserts all files +listed into the archive. If you would like to insert \fIonly\fR those +of the files you list that are newer than existing members of the same +names, use this modifier. The \fBu\fR modifier is allowed only for the +operation \fBr\fR (replace). In particular, the combination \fBqu\fR is +not allowed, since checking the timestamps would lose any speed +advantage from the operation \fBq\fR. +.IP "\fBv\fR" 4 +.IX Item "v" +This modifier requests the \fIverbose\fR version of an operation. Many +operations display additional information, such as filenames processed, +when the modifier \fBv\fR is appended. +.IP "\fBV\fR" 4 +.IX Item "V" +This modifier shows the version number of \fBar\fR. +.PP +\&\fBar\fR ignores an initial option spelt \fB\-X32_64\fR, for +compatibility with \s-1AIX\s0. The behaviour produced by this option is the +default for \s-1GNU\s0 \fBar\fR. \fBar\fR does not support any of the other +\&\fB\-X\fR options; in particular, it does not support \fB\-X32\fR +which is the default for \s-1AIX\s0 \fBar\fR. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fInm\fR\|(1), \fIranlib\fR\|(1), and the Info entries for \fIbinutils\fR. +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright (c) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, +2001, 2002, 2003 Free Software Foundation, Inc. +.PP +Permission is granted to copy, distribute and/or modify this document +under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.1 +or any later version published by the Free Software Foundation; +with no Invariant Sections, with no Front-Cover Texts, and with no +Back-Cover Texts. A copy of the license is included in the +section entitled ``\s-1GNU\s0 Free Documentation License''. diff --git a/static/openbsd/man1/arch.1 b/static/openbsd/man1/arch.1 new file mode 100644 index 00000000..4826ae67 --- /dev/null +++ b/static/openbsd/man1/arch.1 @@ -0,0 +1,76 @@ +.\" $OpenBSD: arch.1,v 1.10 2017/07/06 16:50:58 schwarze Exp $ +.\" +.\" Copyright (c) 1994 SigmaSoft, Th. Lockert +.\" 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. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. +.\" +.Dd $Mdocdate: July 6 2017 $ +.Dt ARCH 1 +.Os +.Sh NAME +.Nm arch , +.Nm machine +.Nd print architecture type +.Sh SYNOPSIS +.Nm arch +.Op Fl ks +.Nm machine +.Op Fl a +.Sh DESCRIPTION +The +.Nm arch +and +.Nm machine +commands display the machine's architecture in slightly different ways. +.Nm arch +by default displays the application architecture, defined by both the +operating system and the instruction set architecture, while +.Nm machine +displays the kernel architecture (without the operating system part). +Note that both commands output the target architecture as opposed to +.Xr uname 1 +which describes the host. +This is useful for dynamic discovery +of the target architecture in build or configuration scripts +needing to work in cross-compilation environments. +.Pp +The options for +.Nm arch +are as follows: +.Bl -tag -width indent +.It Fl k +Display the kernel architecture instead of application +architecture. +.It Fl s +Display the chosen architecture in a short form, i.e., without the +operating system prefixed. +.El +.Pp +The options for +.Nm machine +are as follows: +.Bl -tag -width indent +.It Fl a +Display the application architecture instead of the kernel architecture. +.El +.Sh SEE ALSO +.Xr uname 1 diff --git a/static/openbsd/man1/at.1 b/static/openbsd/man1/at.1 new file mode 100644 index 00000000..02e9c2d2 --- /dev/null +++ b/static/openbsd/man1/at.1 @@ -0,0 +1,402 @@ +.\" $OpenBSD: at.1,v 1.59 2024/11/05 16:21:13 sobrado Exp $ +.\" +.\" Copyright (C) 1993, 1994 Thomas Koenig +.\" Copyright (C) 1993 David Parsons +.\" Copyright (C) 2002 Todd C. Miller +.\" +.\" 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. The name of the author(s) may not be used to endorse or promote +.\" products derived from this software without specific prior written +.\" permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``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 AUTHOR(S) 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. +.\" +.Dd $Mdocdate: November 5 2024 $ +.Dt AT 1 +.Os +.Sh NAME +.Nm at , +.Nm batch +.Nd queue, examine or delete jobs for later execution +.Sh SYNOPSIS +.Nm at +.Op Fl bm +.Op Fl f Ar file +.Op Fl l Op Ar job ... +.Op Fl q Ar queue +.Fl t Ar time_arg | timespec +.Nm at +.Fl c | r +.Ar job ... +.Nm batch +.Op Fl m +.Op Fl f Ar file +.Op Fl q Ar queue +.Op Ar timespec +.Sh DESCRIPTION +.Nm at +and +.Nm batch +read commands from standard input or a specified file which +are to be executed at a later time, via the user's shell as +specified by the +.Ev SHELL +environment variable. +If +.Ev SHELL +is not set, the shell in the user's password database entry is used +instead. +If all else fails, +.Xr sh 1 +will be used. +.Pp +The related programs are as follows: +.Bl -tag -width Ds +.It Nm at +Executes commands at a specified time. +.It Nm batch +Executes commands when system load levels permit. +In other words, when +the load average drops below 1.5, or the value specified in the invocation of +.Xr cron 8 . +.El +.Pp +The options are as follows: +.Bl -tag -width indent +.It Fl b +An alias for +.Nm batch . +.It Fl c Ar job ... +Prints the jobs listed on the command line to standard output. +.It Fl f Ar file +Reads the job from +.Ar file +rather than standard input. +.It Fl l Op Ar job ... +Displays the queue of jobs which are currently awaiting execution. +If a +.Ar job +argument is specified, only the specified jobs will be displayed. +Unless the user is the superuser, only the user's own jobs will be +displayed. +.It Fl m +Send mail to the user when the job has completed, even if there was no +output. +.It Fl q Ar queue +Uses the specified queue. +A queue designation consists of a single letter. +Valid queue designations range from +.Sy a +to +.Sy z +and +.Sy A +to +.Sy Z . +The +.Sy c +queue is the default for +.Nm at +and the +.Sy E +queue for +.Nm batch . +Queues with higher letters run with increased niceness. +If a job is submitted to a queue designated with an uppercase letter, it +is treated as if it had been submitted to batch at that time. +If the user specified the +.Fl l +option and +.Nm at +is given a specific queue, only jobs pending in that queue will be shown. +.It Fl r Ar job ... +Remove the specified job(s) from the +.Nm at +queue. +.It Fl t Ar time_arg +Specify the job time. +The argument should be of the form +.Oo Oo Ar cc Oc Ns Ar yy Oc Ns Ar mmddHHMM Ns Op \&. Ns Ar SS +(matching +.Xr touch 1 Ap s +.Fl t +format), +where the parts of the argument represent the following: +.Pp +.Bl -tag -width Ds -compact -offset indent +.It Ar ccyy +Year. +If yy is specified, but cc is not, +a value for yy between 69 and 99 results in a cc value of 19. +Otherwise, a cc value of 20 is used. +.It Ar mm +Month: +a number from 1 to 12. +.It Ar dd +Day: +a number from 1 to 31. +.It Ar HH +Hour: +a number from 0 to 23. +.It Ar MM +Minute: +a number from 0 to 59. +.It Ar SS +Second: +a number from 0 to 60 +(permitting a leap second), +preceded by a period. +The default is 0. +.El +.It Ar timespec +As well as the +.Fl t +option, +.Nm at +alternatively allows some moderately complex +.Ar timespec +specifications. +It accepts times of the form +.Ar HHMM +or +.Ar HH:MM +to run a job at a specific time of day +(if that time is already past, the next day is assumed). +It is also possible to specify +.Cm midnight , +.Cm noon , +.Cm now , +or +.Cm teatime +(4pm), +or have a time-of-day suffixed with +.Cm AM +or +.Cm PM +for running in the morning or the evening. +To say what day the job will be run, +give a date in the form +.Ar \%month-name day +with an optional +.Ar year , +or giving a date of the form +.Ar dd.mm.ccyy , +.Ar dd.mm.yy , +.Ar mm/dd/ccyy , +.Ar mm/dd/yy , +.Ar mmddccyy , +or +.Ar mmddyy . +.Pp +The year may be given as two or four digits. +If the year is given as two digits, it is taken to occur as soon as +possible in the future, which may be in the next century \(em +unless it's last year, in which case it's considered to be +a typo. +.Pp +The specification of a date must follow the specification of +the time of day. +A time like +.Oo Cm now Oc Cm + Ar count time-units +may be given, +where the time-units can be +.Cm minutes , +.Cm hours , +.Cm days , +.Cm weeks , +.Cm months , +or +.Cm years +(the singular forms are also accepted). +To tell +.Nm at +to run the job today or tomorrow, +suffix the time with +.Cm today +or +.Cm tomorrow . +The +.Cm next +keyword may be used as an alias for +.Cm + 1 . +.Pp +For example, to run a job at 4pm three days from now, use +.Ic at 4pm + 3 days . +To run a job at 10:00am on July 31, use +.Ic at 10am Jul 31 . +To run a job at 1am tomorrow, use +.Ic at 1am tomorrow . +To run a job at midnight in one week's time, use +.Ic at midnight next week . +.El +.Pp +For both +.Nm at +and +.Nm batch , +commands are read from standard input (or the file specified +with the +.Fl f +option) and executed. +The working directory, the environment (except for the variables +.Ev BASH_VERSINFO , +.Ev DISPLAY , +.Ev EUID , +.Ev GROUPS , +.Ev PPID , +.Ev SHELLOPTS , +.Ev SSH_AGENT_PID , +.Ev SSH_AUTH_SOCK , +.Ev TERM , +.Ev TERMCAP , +.Ev UID , +and +.Ev _ ) , +and the +.Ar umask +are retained from the time of invocation. +An +.Nm at +or +.Nm batch +command invoked from a +.Xr su 1 +shell will retain the current user ID. +The user will be mailed standard error and standard output from his +commands, if any. +If +.Nm at +is executed from a +.Xr su 1 +shell, the owner of the login shell will receive the mail. +.Pp +For non-root users, permission to run +.Nm +is determined by the files +.Pa /var/cron/at.allow +and +.Pa /var/cron/at.deny . +.Em Note : +these files must be readable by group crontab (if they exist). +.Pp +If the file +.Pa /var/cron/at.allow +exists, only usernames mentioned in it are allowed to use +.Nm at . +If +.Pa /var/cron/at.allow +does not exist, +.Pa /var/cron/at.deny +is checked. +Every username not mentioned in it is then allowed to use +.Nm at . +If neither exists, only the superuser is allowed to run +.Nm at . +.Pp +An empty +.Pa /var/cron/at.deny +means that every user is allowed to use these commands. +This is the default configuration. +.Sh FILES +.Bl -tag -width /var/cron/at.allow -compact +.It Pa /var/cron/atjobs +directory containing job files +.It Pa /var/cron/at.allow +allow permission control +.It Pa /var/cron/at.deny +deny permission control +.El +.Sh EXIT STATUS +The +.Nm +utility exits with one of the following values: +.Pp +.Bl -tag -width Ds -offset indent -compact +.It 0 +Jobs were successfully submitted, removed, or listed. +.It >0 +An error occurred. +.El +.Sh SEE ALSO +.Xr atq 1 , +.Xr atrm 1 , +.Xr nice 1 , +.Xr sh 1 , +.Xr touch 1 , +.Xr umask 2 , +.Xr cron 8 +.Sh STANDARDS +The +.Nm +and +.Nm batch +utilities are compliant with the +.St -p1003.1-2024 +specification. +.Pp +The +.Nm +flags +.Op Fl bc +and the +.Cm teatime +.Ar timespec +are extensions to that specification. +.Pp +.St -p1003.1-2024 +states that +.Nm batch +is equivalent to running +.Qq Cm at -q b -m now . +This implementation permits a +.Ar timespec +argument, as well as the ability to read from a file +.Pq Fl f +and specify a job queue +.Pq Fl q , +and does not send mail to the user +.Pq Fl m +by default. +.Pp +By default, +.St -p1003.1-2024 +schedules +.Nm at +jobs in queue +.Sy a +and +.Nm batch +jobs in queue +.Sy b . +.Pp +The at.allow/deny mechanism is marked by +.St -p1003.1-2024 +as being an +X/Open System Interfaces +option. +.Sh AUTHORS +.An -nosplit +.Nm at +was mostly written by +.An Thomas Koenig Aq Mt ig25@rz.uni-karlsruhe.de . +The time parsing routines are by +.An David Parsons Aq Mt orc@pell.chi.il.us . +.Sh BUGS +.Nm at +and +.Nm batch +as presently implemented are not suitable when users are competing for +resources. diff --git a/static/openbsd/man1/atq.1 b/static/openbsd/man1/atq.1 new file mode 100644 index 00000000..23214da3 --- /dev/null +++ b/static/openbsd/man1/atq.1 @@ -0,0 +1,103 @@ +.\" $OpenBSD: atq.1,v 1.7 2015/09/09 21:23:30 schwarze Exp $ +.\" +.\" Copyright (c) 1985, 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. 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. +.\" +.\" @(#)atq.1 8.1 (Berkeley) 6/6/93 +.\" +.Dd $Mdocdate: September 9 2015 $ +.Dt ATQ 1 +.Os +.Sh NAME +.Nm atq +.Nd display the at(1) job queue +.Sh SYNOPSIS +.Nm atq +.Op Fl cnv +.Op Fl q Ar queue +.Op Ar name ... +.Sh DESCRIPTION +.Nm atq +displays the queue of jobs, created by the +.Xr at 1 +command, which are currently awaiting execution. +Unless the user is the superuser, only the user's own jobs will be displayed. +With no flags, the queue is sorted in the order that +the jobs will be executed. +.Pp +The options are as follows: +.Bl -tag -width "-q queueX" +.It Fl c +Sort the queue by the time that the jobs were submitted (created). +By default, +.Nm +will sort the queue by the time that the jobs will run. +.It Fl n +Only print the total number of files that are currently in the queue. +.It Fl q Ar queue +Restrict output to jobs in the specified +.Ar queue . +A queue designation consists of a single letter. +Valid queue designations range from +.Sy a +to +.Sy z +and +.Sy A +to +.Sy Z . +The +.Sy c +queue is the default for +.Xr at 1 +and the +.Sy E +queue for +.Xr batch 1 . +By default, +.Nm +will display jobs in all queues. +.It Fl v +Jobs that have completed but have not yet been removed are also displayed. +.El +.Pp +If a name(s) is provided, only those files belonging to that user(s) are +displayed. +.Sh FILES +.Bl -tag -width /var/cron/atjobs -compact +.It Pa /var/cron/atjobs +directory containing job files +.El +.Sh SEE ALSO +.Xr at 1 , +.Xr atrm 1 , +.Xr cron 8 +.Sh HISTORY +The +.Nm +command appeared in +.Bx 4.3 . diff --git a/static/openbsd/man1/atrm.1 b/static/openbsd/man1/atrm.1 new file mode 100644 index 00000000..c4389bfd --- /dev/null +++ b/static/openbsd/man1/atrm.1 @@ -0,0 +1,91 @@ +.\" $OpenBSD: atrm.1,v 1.8 2015/09/09 21:23:30 schwarze Exp $ +.\" +.\" Copyright (c) 1985, 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. 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. +.\" +.\" @(#)atrm.1 8.1 (Berkeley) 6/6/93 +.\" +.Dd $Mdocdate: September 9 2015 $ +.Dt ATRM 1 +.Os +.Sh NAME +.Nm atrm +.Nd remove jobs spooled by at(1) +.Sh SYNOPSIS +.Nm atrm +.Op Fl afi +.Oo +.Op Ar job +.Op Ar name +.Ar ... +.Oc +.Sh DESCRIPTION +.Nm atrm +removes jobs that were created with the +.Xr at 1 +command. +.Pp +The options are as follows: +.Bl -tag -width Ds +.It Fl a +Remove all jobs belonging to the user invoking +.Nm atrm . +If the user is the superuser, remove all jobs. +.It Fl f +All information regarding the removal of the specified jobs is suppressed. +.It Fl i +.Nm atrm +asks whether a job should be removed. +If the user responds with +.Ql y , +the job will be removed. +.El +.Pp +If one or more +.Ar job +ids are specified, +.Nm atrm +attempts to remove only those +.Ar job Ns s. +.Pp +If one or more user names are specified, all jobs belonging to those users +are removed. +Only the superuser may remove other users' jobs. +.Sh FILES +.Bl -tag -width /var/cron/atjobs -compact +.It Pa /var/cron/atjobs +directory containing job files +.El +.Sh SEE ALSO +.Xr at 1 , +.Xr atq 1 , +.Xr cron 8 +.Sh HISTORY +The +.Nm +command appeared in +.Bx 4.3 . diff --git a/static/openbsd/man1/aucat.1 b/static/openbsd/man1/aucat.1 new file mode 100644 index 00000000..53c3eea0 --- /dev/null +++ b/static/openbsd/man1/aucat.1 @@ -0,0 +1,297 @@ +.\" $OpenBSD: aucat.1,v 1.123 2024/05/21 05:09:29 ratchov Exp $ +.\" +.\" Copyright (c) 2006 Alexandre Ratchov +.\" +.\" Permission to use, copy, modify, and distribute this software for any +.\" purpose with or without fee is hereby granted, provided that the above +.\" copyright notice and this permission notice appear in all copies. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +.\" +.Dd $Mdocdate: May 21 2024 $ +.Dt AUCAT 1 +.Os +.Sh NAME +.Nm aucat +.Nd audio file manipulation tool +.Sh SYNOPSIS +.Nm aucat +.Op Fl dn +.Op Fl b Ar size +.Op Fl c Ar channels +.Op Fl e Ar enc +.Op Fl f Ar device +.Op Fl g Ar position +.Op Fl h Ar fmt +.Op Fl i Ar file +.Op Fl m Ar min : Ns Ar max Ns / Ns Ar min : Ns Ar max +.Op Fl o Ar file +.Op Fl p Ar position +.Op Fl q Ar port +.Op Fl r Ar rate +.Op Fl v Ar volume +.Sh DESCRIPTION +The +.Nm +utility can play, record, mix, and process audio files +on the fly. +During playback, +.Nm +reads audio data concurrently from all played files, +mixes it and plays the result on the device. +Similarly, it stores audio data recorded +from the device into corresponding files. +An +.Em off-line +mode could be used to process audio files without +involving audio hardware. +Processing includes: +.Pp +.Bl -bullet -offset indent -compact +.It +Change the sound encoding. +.It +Route the sound from one channel to another. +.It +Control the per-file playback volume. +.El +.Pp +Finally, +.Nm +can accept MIDI messages usable for: +.Pp +.Bl -bullet -offset indent -compact +.It +Volume control. +.It +Start, stop and relocate playback and recording. +.El +.Pp +The options are as follows: +.Bl -tag -width Ds +.It Fl b Ar size +The buffer size of the audio device in frames. +Default is 7680. +.It Fl c Ar channels +The audio file channels count. +The default is 2, i.e. stereo. +.It Fl d +Increase log verbosity. +.It Fl e Ar enc +Encoding of the audio file. +The default is +.Va s24 . +Encoding names use the following scheme: signedness +.Po +.Va s +or +.Va u +.Pc +followed +by the precision in bits, the byte-order +.Po +.Va le +or +.Va be +.Pc , +the number of +bytes per sample, and the alignment +.Po +.Va msb +or +.Va lsb +.Pc . +Only the signedness and the precision are mandatory. +Examples: +.Va u8 , s16le , s24le3 , s24le4lsb . +.It Fl f Ar device +Use this +.Xr sndio 7 +audio device. +Device mode and parameters are determined from audio files. +Default is +.Pa default . +.It Fl g Ar position +Go to the given time position and start playback or recording there. +This option is equivalent to an incoming MMC relocate message +with the same position. +The position is expressed as the number of samples (at device sample rate). +.It Fl h Ar fmt +Audio file type. +The following file types are supported: +.Pp +.Bl -tag -width autoX -compact +.It Cm raw +Headerless file. +.It Cm wav +Microsoft WAV file format. +.It Cm aiff +Apple's audio interchange file format. +.It Cm au +Sun/NeXT audio file format. +.It Cm auto +Try to guess, depending on the file name. +This is the default. +.El +.It Fl i Ar file +Play this audio file. +If the option argument is +.Sq - +then standard input will be used. +.It Fl m Ar min : Ns Ar max Ns / Ns Ar min : Ns Ar max +Map the given range of source channels into the given range of +destination channels. +.It Fl n +Off-line mode. +Read input files and store the result in the output files, +processing them on the fly. +This mode is useful to mix, demultiplex, resample or re-encode +audio files off-line. +It requires at least one input +.Pq Fl i +and one output +.Pq Fl o . +.It Fl o Ar file +Record into this audio file. +If the option argument is +.Sq - +then standard output will be used. +.It Fl p Ar position +Time offset where the beginning of the file belongs. +The first sample of the file will be played or recorded when the device +reaches the given position. +The position is expressed as the number of samples (at device sample rate). +.It Fl q Ar port +Control audio device properties through this MIDI port. +This includes per-stream volumes and the ability to +synchronously start, stop and relocate audio files. +.It Fl r Ar rate +Sample rate in Hertz of the audio file. +The default is +.Cm 48000 . +.It Fl v Ar volume +Software volume attenuation of the file to play. +The value must be between 1 and 127, +corresponding to \-42dB and \-0dB attenuation in 1/3dB steps. +The default is 127, i.e. no attenuation. +.El +.Pp +On the command line, +per-file parameters +.Pq Fl cehmrv +must precede the file definition +.Pq Fl io . +.Pp +If +.Nm +is sent +.Dv SIGHUP , +.Dv SIGINT +or +.Dv SIGTERM , +it terminates recording to files. +.Sh MIDI CONTROL +.Nm +can be controlled through MIDI +.Pq Fl q +as follows: +a MIDI channel is assigned to each stream, and the volume +is changed using the standard volume controller (number 7). +The master volume can be changed using the standard master volume +system exclusive message. +.Pp +All audio files are controlled by the following MMC messages: +.Pp +.Bl -tag -width relocateX -offset indent -compact +.It relocate +All files are relocated to the requested time position. +If it is beyond the end of a file, the file is temporarily +disabled until a valid position is requested. +.It start +Playback and/or recording is started. +.It stop +Playback and/or recording is stopped and all files are rewound +back to the starting position. +.El +.Pp +MIDI control is intended to be used together with +.Xr sndiod 8 . +For instance, the following command will create two devices: +the default +.Va snd/default +and a MMC-controlled one +.Va snd/default.mmc : +.Bd -literal -offset indent +$ sndiod -r 48000 -z 480 -s default -t slave -s mmc +.Ed +.Pp +Programs using +.Va snd/default +behave normally, while programs using +.Va snd/mmc +wait for the MMC start signal and start synchronously. +Then, the following command will play a file on the +.Va snd/mmc +audio device, giving full control to MIDI software or hardware +connected to the +.Va midithru/0 +MIDI port: +.Bd -literal -offset indent +$ aucat -f snd/mmc -q midithru/0 -i file.wav +.Ed +.Pp +At this stage, +.Nm +will start, stop and relocate automatically following all user +actions in the MIDI sequencer, assuming it's configured to +transmit MMC on +.Va midithru/0 +and +.Va snd/mmc . +Furthermore, the MIDI sequencer could be configured to use the +.Va snd/mmc +port as MTC clock source, assured to be synchronous to playback of +.Pa file.wav . +.Sh EXAMPLES +Mix and play two files while recording a third file: +.Bd -literal -offset indent +$ aucat -i file1.wav -i file2.wav -o file3.wav +.Ed +.Pp +Record channels 2 and 3 into one stereo file and +channels 6 and 7 into another stereo file using a 44.1kHz sampling +rate for both: +.Bd -literal -offset indent +$ aucat -r 44100 -m 2:3/0:1 -o file1.wav -m 6:7/0:1 -o file2.wav +.Ed +.Pp +Split a stereo file into two mono files: +.Bd -literal -offset indent +$ aucat -n -i stereo.wav -c 1 -m 0:0/0:0 -o left.wav \e + -m 1:1/0:0 -o right.wav +.Ed +.Sh SEE ALSO +.Xr cdio 1 , +.Xr audio 4 , +.Xr sndio 7 , +.Xr audioctl 8 , +.Xr mixerctl 8 , +.Xr sndiod 8 +.Sh BUGS +Resampling is low quality. +.Pp +There are limitations inherent to the +.Ar wav , +.Ar aiff , +and +.Ar au +file formats: not all encodings are supported, +file sizes are limited to 2GB, and the files must support the +.Xr lseek 2 +operation (e.g. pipes do not support it). diff --git a/static/openbsd/man1/awk.1 b/static/openbsd/man1/awk.1 new file mode 100644 index 00000000..be9701f4 --- /dev/null +++ b/static/openbsd/man1/awk.1 @@ -0,0 +1,1073 @@ +.\" $OpenBSD: awk.1,v 1.71 2024/12/25 13:44:22 naddy Exp $ +.\" +.\" Copyright (C) Lucent Technologies 1997 +.\" All Rights Reserved +.\" +.\" Permission to use, copy, modify, and distribute this software and +.\" its documentation for any purpose and without fee is hereby +.\" granted, provided that the above copyright notice appear in all +.\" copies and that both that the copyright notice and this +.\" permission notice and warranty disclaimer appear in supporting +.\" documentation, and that the name Lucent Technologies or any of +.\" its entities not be used in advertising or publicity pertaining +.\" to distribution of the software without specific, written prior +.\" permission. +.\" +.\" LUCENT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +.\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. +.\" IN NO EVENT SHALL LUCENT OR ANY OF ITS ENTITIES BE LIABLE FOR ANY +.\" SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER +.\" IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +.\" ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +.\" THIS SOFTWARE. +.\" +.Dd $Mdocdate: December 25 2024 $ +.Dt AWK 1 +.Os +.Sh NAME +.Nm awk +.Nd pattern-directed scanning and processing language +.Sh SYNOPSIS +.Nm awk +.Op Fl safe +.Op Fl V +.Op Fl d Ns Op Ar n +.Op Fl F Ar fs | Fl -csv +.Op Fl v Ar var Ns = Ns Ar value +.Op Ar prog | Fl f Ar progfile +.Ar +.Sh DESCRIPTION +.Nm +scans each input +.Ar file +for lines that match any of a set of patterns specified literally in +.Ar prog +or in one or more files specified as +.Fl f Ar progfile . +With each pattern there can be an associated action that will be performed +when a line of a +.Ar file +matches the pattern. +Each line is matched against the +pattern portion of every pattern-action statement; +the associated action is performed for each matched pattern. +The file name +.Sq - +means the standard input. +Any +.Ar file +of the form +.Ar var Ns = Ns Ar value +is treated as an assignment, not a filename, +and is executed at the time it would have been opened if it were a filename. +.Pp +The options are as follows: +.Bl -tag -width "-safe " +.It Fl -csv +Process records using the (more or less) standard comma-separated values +.Pq CSV +format instead of the input field separator. +When the +.Fl -csv +option is specified, attempts to change the input field separator +or record separator are ignored. +.It Fl d Ns Op Ar n +Debug mode. +Set debug level to +.Ar n , +or 1 if +.Ar n +is not specified. +A value greater than 1 causes +.Nm +to dump core on fatal errors. +.It Fl F Ar fs +Define the input field separator to be the regular expression +.Ar fs . +.It Fl f Ar progfile +Read program code from the specified file +.Ar progfile +instead of from the command line. +.It Fl safe +Disable file output +.Pf ( Ic print No > , +.Ic print No >> ) , +process creation +.Po +.Ar cmd | Ic getline , +.Ic print | , +.Ic system +.Pc +and access to the environment +.Pf ( Va ENVIRON ; +see the section on variables below). +This is a first +.Pq and not very reliable +approximation to a +.Dq safe +version of +.Nm . +.It Fl V +Print the version number of +.Nm +to standard output and exit. +.It Fl v Ar var Ns = Ns Ar value +Assign +.Ar value +to variable +.Ar var +before +.Ar prog +is executed; +any number of +.Fl v +options may be present. +.El +.Pp +The input is normally made up of input lines +.Pq records +separated by newlines, or by the value of +.Va RS . +If +.Va RS +is null, then any number of blank lines are used as the record separator, +and newlines are used as field separators +(in addition to the value of +.Va FS ) . +This is convenient when working with multi-line records. +.Pp +An input line is normally made up of fields separated by whitespace, +or by the value of the field separator +.Va FS +at the time the line is read. +The fields are denoted +.Va $1 , $2 , ... , +while +.Va $0 +refers to the entire line. +.Va FS +may be set to either a single character or a regular expression. +As a special case, if +.Va FS +is a single space +.Pq the default , +fields will be split by one or more whitespace characters. +If +.Va FS +is null, the input line is split into one field per character. +.Pp +Normally, any number of blanks separate fields. +In order to set the field separator to a single blank, use the +.Fl F +option with a value of +.Sq [\ \&] . +If a field separator of +.Sq t +is specified, +.Nm +treats it as if +.Sq \et +had been specified and uses +.Aq TAB +as the field separator. +In order to use a literal +.Sq t +as the field separator, use the +.Fl F +option with a value of +.Sq [t] . +The field separator is usually set via the +.Fl F +option or from inside a +.Ic BEGIN +block so that it takes effect before the input is read. +.Pp +A pattern-action statement has the form: +.Pp +.D1 Ar pattern Ic \&{ Ar action Ic \&} +.Pp +A missing +.Ic \&{ Ar action Ic \&} +means print the line; +a missing pattern always matches. +Pattern-action statements are separated by newlines or semicolons. +.Pp +Newlines are permitted after a terminating statement or following a comma +.Pq Sq ,\& , +an open brace +.Pq Sq { , +a logical AND +.Pq Sq && , +a logical OR +.Pq Sq || , +after the +.Sq do +or +.Sq else +keywords, +or after the closing parenthesis of an +.Sq if , +.Sq for , +or +.Sq while +statement. +Additionally, a backslash +.Pq Sq \e +can be used to escape a newline between tokens. +.Pp +An action is a sequence of statements. +A statement can be one of the following: +.Pp +.Bl -tag -width Ds -offset indent -compact +.It Ic if Ar ( expression ) Ar statement Op Ic else Ar statement +.It Ic while Ar ( expression ) Ar statement +.It Ic for Ar ( expression ; expression ; expression ) statement +.It Ic for Ar ( var Ic in Ar array ) statement +.It Ic do Ar statement Ic while Ar ( expression ) +.It Ic break +.It Ic continue +.It Xo Ic { +.Op Ar statement ... +.Ic } +.Xc +.It Xo Ar expression +.No # commonly +.Ar var No = Ar expression +.Xc +.It Xo Ic print +.Op Ar expression-list +.Op > Ns Ar expression +.Xc +.It Xo Ic printf Ar format +.Op Ar ... , expression-list +.Op > Ns Ar expression +.Xc +.It Ic return Op Ar expression +.It Xo Ic next +.No # skip remaining patterns on this input line +.Xc +.It Xo Ic nextfile +.No # skip rest of this file, open next, start at top +.Xc +.It Xo Ic delete +.Sm off +.Ar array Ic \&[ Ar expression Ic \&] +.Sm on +.No # delete an array element +.Xc +.It Xo Ic delete Ar array +.No # delete all elements of array +.Xc +.It Xo Ic exit +.Op Ar expression +.No # exit processing, and perform +.Ic END +processing; status is +.Ar expression +.Xc +.El +.Pp +Statements are terminated by +semicolons, newlines or right braces. +An empty +.Ar expression-list +stands for +.Ar $0 . +String constants are quoted +.Li \&"" , +with the usual C escapes recognized within +(see +.Xr printf 1 +for a complete list of these). +Expressions take on string or numeric values as appropriate, +and are built using the operators +.Ic + \- * / % ^ +.Pq exponentiation , +and concatenation +.Pq indicated by whitespace . +The operators +.Ic \&! ++ \-\- += \-= *= /= %= ^= +.Ic > >= < <= == != ?\&: +are also available in expressions. +Variables may be scalars, array elements +(denoted +.Li x[i] ) +or fields. +Variables are initialized to the null string. +Array subscripts may be any string, +not necessarily numeric; +this allows for a form of associative memory. +Multiple subscripts such as +.Li [i,j,k] +are permitted; the constituents are concatenated, +separated by the value of +.Va SUBSEP +.Pq see the section on variables below . +.Pp +The +.Ic print +statement prints its arguments on the standard output +(or on a file if +.Pf >\ \& Ar file +or +.Pf >>\ \& Ar file +is present or on a pipe if +.Pf |\ \& Ar cmd +is present), separated by the current output field separator, +and terminated by the output record separator. +.Ar file +and +.Ar cmd +may be literal names or parenthesized expressions; +identical string values in different statements denote +the same open file. +The +.Ic printf +statement formats its expression list according to the +.Ar format +(see +.Xr printf 1 ) . +.Pp +Patterns are arbitrary Boolean combinations +(with +.Ic "\&! || &&" ) +of regular expressions and +relational expressions. +.Nm +supports extended regular expressions +.Pq EREs . +See +.Xr re_format 7 +for more information on regular expressions. +Isolated regular expressions +in a pattern apply to the entire line. +Regular expressions may also occur in +relational expressions, using the operators +.Ic ~ +and +.Ic !~ . +.Pf / Ar re Ns / +is a constant regular expression; +any string (constant or variable) may be used +as a regular expression, +except in the position of an isolated regular expression in a pattern. +.Pp +A pattern may consist of two patterns separated by a comma; +in this case, the action is performed for all lines +from an occurrence of the first pattern +through an occurrence of the second. +.Pp +A relational expression is one of the following: +.Pp +.Bl -tag -width Ds -offset indent -compact +.It Ar expression matchop regular-expression +.It Ar expression relop expression +.It Ar expression Ic in Ar array-name +.It Xo Ic \&( Ns +.Ar expr , expr , \&... Ns Ic \&) in +.Ar array-name +.Xc +.El +.Pp +where a +.Ar relop +is any of the six relational operators in C, and a +.Ar matchop +is either +.Ic ~ +(matches) +or +.Ic !~ +(does not match). +A conditional is an arithmetic expression, +a relational expression, +or a Boolean combination +of these. +.Pp +The special pattern +.Ic BEGIN +may be used to capture control before the first input line is read. +The special pattern +.Ic END +may be used to capture control after processing is finished. +.Ic BEGIN +and +.Ic END +do not combine with other patterns. +They may appear multiple times in a program and execute +in the order they are read by +.Nm . +.Pp +Variable names with special meanings: +.Pp +.Bl -tag -width "FILENAME " -compact +.It Va ARGC +Argument count, assignable. +.It Va ARGV +Argument array, assignable; +non-null members are taken as filenames. +.It Va CONVFMT +Conversion format when converting numbers +(default +.Qq Li %.6g ) . +.It Va ENVIRON +Array of environment variables; subscripts are names. +.It Va FILENAME +The name of the current input file. +.It Va FNR +Ordinal number of the current record in the current file. +.It Va FS +Regular expression used to separate fields (default whitespace); +also settable by option +.Fl F Ar fs . +.It Va NF +Number of fields in the current record. +.Va $NF +can be used to obtain the value of the last field in the current record. +.It Va NR +Ordinal number of the current record. +.It Va OFMT +Output format for numbers (default +.Qq Li %.6g ) . +.It Va OFS +Output field separator (default blank). +.It Va ORS +Output record separator (default newline). +.It Va RLENGTH +The length of the string matched by the +.Fn match +function. +.It Va RS +Input record separator (default newline). +If empty, blank lines separate records. +If more than one character long, +.Va RS +is treated as a regular expression, and records are +separated by text matching the expression. +.It Va RSTART +The starting position of the string matched by the +.Fn match +function. +.It Va SUBSEP +Separates multiple subscripts (default 034). +.El +.Sh FUNCTIONS +The awk language has a variety of built-in functions: +arithmetic, string, input/output, general, and bit-operation. +.Pp +Functions may be defined (at the position of a pattern-action statement) +thusly: +.Pp +.Dl function foo(a, b, c) { ...; return x } +.Pp +Parameters are passed by value if scalar, and by reference if array name; +functions may be called recursively. +Parameters are local to the function; all other variables are global. +Thus local variables may be created by providing excess parameters in +the function definition. +.Ss Arithmetic Functions +.Bl -tag -width "atan2(y, x)" +.It Fn atan2 y x +Return the arctangent of +.Fa y Ns / Ns Fa x +in radians. +.It Fn cos x +Return the cosine of +.Fa x , +where +.Fa x +is in radians. +.It Fn exp x +Return the exponential of +.Fa x . +.It Fn int x +Return +.Fa x +truncated to an integer value. +.It Fn log x +Return the natural logarithm of +.Fa x . +.It Fn rand +Return a random number, +.Fa n , +such that +.Sm off +.Pf 0 \*(Le Fa n No \*(Lt 1 . +.Sm on +Random numbers are non-deterministic unless a seed is explicitly set with +.Fn srand . +.It Fn sin x +Return the sine of +.Fa x , +where +.Fa x +is in radians. +.It Fn sqrt x +Return the square root of +.Fa x . +.It Fn srand expr +Sets seed for +.Fn rand +to +.Fa expr +and returns the previous seed. +If +.Fa expr +is omitted, +.Fn rand +will return non-deterministic random numbers. +.El +.Ss String Functions +.Bl -tag -width "split(s, a, fs)" +.It Fn gensub r s h [t] +Search the target string +.Ar t +for matches of the regular expression +.Ar r . +If +.Ar h +is a string beginning with +.Ic g +or +.Ic G , +then replace all matches of +.Ar r +with +.Ar s . +Otherwise, +.Ar h +is a number indicating which match of +.Ar r +to replace. +If no +.Ar t +is supplied, +.Va $0 +is used instead. +.\"Within the replacement text +.\".Ar s , +.\"the sequence +.\".Ar \en , +.\"where +.\".Ar n +.\"is a digit from 1 to 9, may be used to indicate just the text that +.\"matched the +.\".Ar n Ap th +.\"parenthesized subexpression. +.\"The sequence +.\".Ic \e0 +.\"represents the entire text, as does the character +.\".Ic & . +Unlike +.Fn sub +and +.Fn gsub , +the modified string is returned as the result of the function, +and the original target is +.Em not +changed. +Note that +.Ar \en +sequences within the replacement string +.Ar s , +as supported by GNU +.Nm , +are +.Em not +supported at this time. +.It Fn gsub r t s +The same as +.Fn sub +except that all occurrences of the regular expression are replaced. +.Fn gsub +returns the number of replacements. +.It Fn index s t +The position in +.Fa s +where the string +.Fa t +occurs, or 0 if it does not. +.It Fn length s +The length of +.Fa s +taken as a string, +number of elements in an array for an array argument, +or length of +.Va $0 +if no argument is given. +.It Fn match s r +The position in +.Fa s +where the regular expression +.Fa r +occurs, or 0 if it does not. +The variable +.Va RSTART +is set to the starting position of the matched string +.Pq which is the same as the returned value +or zero if no match is found. +The variable +.Va RLENGTH +is set to the length of the matched string, +or \-1 if no match is found. +.It Fn split s a fs +Splits the string +.Fa s +into array elements +.Va a[1] , a[2] , ... , a[n] +and returns +.Va n . +The separation is done with the regular expression +.Ar fs +or with the field separator +.Va FS +if +.Ar fs +is not given. +An empty string as field separator splits the string +into one array element per character. +.It Fn sprintf fmt expr ... +The string resulting from formatting +.Fa expr , ... +according to the +.Xr printf 1 +format +.Fa fmt . +.It Fn sub r t s +Substitutes +.Fa t +for the first occurrence of the regular expression +.Fa r +in the string +.Fa s . +If +.Fa s +is not given, +.Va $0 +is used. +An ampersand +.Pq Sq & +in +.Fa t +is replaced in string +.Fa s +with regular expression +.Fa r . +A literal ampersand can be specified by preceding it with two backslashes +.Pq Sq \e\e . +A literal backslash can be specified by preceding it with another backslash +.Pq Sq \e\e . +.Fn sub +returns the number of replacements. +.It Fn substr s m n +Return at most the +.Fa n Ns -character +substring of +.Fa s +that begins at position +.Fa m +counted from 1. +If +.Fa n +is omitted, or if +.Fa n +specifies more characters than are left in the string, +the length of the substring is limited by the length of +.Fa s . +.It Fn tolower str +Returns a copy of +.Fa str +with all upper-case characters translated to their +corresponding lower-case equivalents. +.It Fn toupper str +Returns a copy of +.Fa str +with all lower-case characters translated to their +corresponding upper-case equivalents. +.El +.Ss Time Functions +This version of +.Nm +provides the following functions for obtaining and formatting time +stamps. +.Bl -tag -width indent +.It Fn mktime datespec +Converts +.Fa datespec +into a timestamp in the same form as a value returned by +.Fn systime . +The +.Fa datespec +is a string composed of six or seven numbers separated by whitespace: +.Bd -literal -offset indent +YYYY MM DD HH MM SS [DST] +.Ed +.Pp +The fields in +.Fa datespec +are as follows: +.Bl -tag -width "YYYY" +.It YYYY +Year: a four-digit year, including the century. +.It MM +Month: a number from 1 to 12. +.It DD +Day: a number from 1 to 31. +.It HH +Hour: a number from 0 to 23. +.It MM +Minute: a number from 0 to 59. +.It SS +Second: a number from 0 to 60 (permitting a leap second). +.It DST +Daylight Saving Time: a positive or zero value indicates that +DST is or is not in effect. +If DST is not specified, or is negative, +.Fn mktime +will attempt to determine the correct value. +.El +.It Fn strftime "[format [, timestamp]]" +Formats +.Ar timestamp +according to the string +.Ar format . +The format string may contain any of the conversion specifications described +in the +.Xr strftime 3 +manual page, as well as any arbitrary text. +The +.Ar timestamp +must be in the same form as a value returned by +.Fn mktime +and +.Fn systime . +If +.Ar timestamp +is not specified, the current time is used. +If +.Ar format +is not specified, a default format equivalent to the output of +.Xr date 1 +is used. +.It Fn systime +Returns the value of time in seconds since 0 hours, 0 minutes, +0 seconds, January 1, 1970, Coordinated Universal Time (UTC). +.El +.Ss Input/Output and General Functions +.Bl -tag -width "getline [var] < file" +.It Fn close expr +Closes the file or pipe +.Fa expr . +.Fa expr +should match the string that was used to open the file or pipe. +.It Ar cmd | Ic getline Op Va var +Read a record of input from a stream piped from the output of +.Ar cmd . +If +.Va var +is omitted, the variables +.Va $0 +and +.Va NF +are set. +Otherwise +.Va var +is set. +If the stream is not open, it is opened. +As long as the stream remains open, subsequent calls +will read subsequent records from the stream. +The stream remains open until explicitly closed with a call to +.Fn close . +.Ic getline +returns 1 for a successful input, 0 for end of file, and \-1 for an error. +.It Fn fflush [expr] +Flushes any buffered output for the file or pipe +.Fa expr , +or all open files or pipes if +.Fa expr +is omitted. +.Fa expr +should match the string that was used to open the file or pipe. +.It Ic getline +Reads the next record from the current input file. +This form of +.Ic getline +sets the variables +.Va $0 , +.Va NF , +.Va NR , +and +.Va FNR . +.Ic getline +returns 1 for a successful input, 0 for end of file, and \-1 for an error. +.It Ic getline Va var +Reads the next record from the current input file. +This form of +.Ic getline +sets the variables +.Va var , +.Va NR +and +.Va FNR . +.Ic getline +returns 1 for a successful input, 0 for end of file, and \-1 for an error. +.It Xo +.Ic getline Op Va var +.Pf <\ \& Ar file +.Xc +Reads the next record from +.Ar file . +If +.Va var +is omitted, the variables +.Va $0 +and +.Va NF +are set. +Otherwise +.Va var +is set. +If +.Ar file +is not open, it is opened. +As long as the stream remains open, subsequent calls will read subsequent +records from +.Ar file . +.Ar file +remains open until explicitly closed with a call to +.Fn close . +.It Fn system cmd +Executes +.Fa cmd +and returns its exit status. +This will be \-1 upon error, +.Ar cmd Ns 's +exit status upon a normal exit, +256 + +.Em sig +if +.Fa cmd +was terminated by a signal, where +.Em sig +is the number of the signal, +or 512 + +.Em sig +if there was a core dump. +.El +.Ss Bit-Operation Functions +.Bl -tag -width "lshift(a, b)" +.It Fn compl x +Returns the bitwise complement of integer argument x. +.It Fn and x y +Performs a bitwise AND on integer arguments x and y. +.It Fn or x y +Performs a bitwise OR on integer arguments x and y. +.It Fn xor x y +Performs a bitwise Exclusive-OR on integer arguments x and y. +.It Fn lshift x n +Returns integer argument x shifted by n bits to the left. +.It Fn rshift x n +Returns integer argument x shifted by n bits to the right. +.El +.Sh ENVIRONMENT +The following environment variables affect the execution of +.Nm : +.Bl -tag -width POSIXLY_CORRECT +.It Ev LC_CTYPE +The character encoding +.Xr locale 1 . +It decides which byte sequences form characters, which characters are +letters, and how letters are mapped from lower to upper case and vice versa. +If unset or set to +.Qq C , +.Qq POSIX , +or an unsupported value, each byte is treated as a character, +and non-ASCII bytes are not regarded as letters. +.It Ev POSIXLY_CORRECT +When set, behave in accordance with the standard, even when it conflicts +with historical behavior. +.El +.Sh EXIT STATUS +.Ex -std awk +.Pp +But note that the +.Ic exit +expression can modify the exit status. +.Sh EXAMPLES +Print lines longer than 72 characters: +.Pp +.Dl length($0) > 72 +.Pp +Print first two fields in opposite order: +.Pp +.Dl { print $2, $1 } +.Pp +Same, with input fields separated by comma and/or spaces and tabs: +.Bd -literal -offset indent +BEGIN { FS = ",[ \et]*|[ \et]+" } + { print $2, $1 } +.Ed +.Pp +Add up first column, print sum and average: +.Bd -literal -offset indent +{ s += $1 } +END { print "sum is", s, " average is", s/NR } +.Ed +.Pp +Print all lines between start/stop pairs: +.Pp +.Dl /start/, /stop/ +.Pp +Simulate +.Xr echo 1 : +.Bd -literal -offset indent +BEGIN { # Simulate echo(1) + for (i = 1; i < ARGC; i++) printf "%s ", ARGV[i] + printf "\en" + exit } +.Ed +.Pp +Print an error message to standard error: +.Bd -literal -offset indent +{ print "error!" > "/dev/stderr" } +.Ed +.Sh UNUSUAL FLOATING-POINT VALUES +.Nm +was designed before IEEE 754 arithmetic defined Not-A-Number (NaN) +and Infinity values, which are supported by all modern floating-point +hardware. +.Pp +Because +.Nm +uses +.Xr strtod 3 +and +.Xr atof 3 +to convert string values to double-precision floating-point values, +modern C libraries also convert strings starting with +.Dv inf +and +.Dv nan +into infinity and NaN values respectively. +This led to strange results, +with something like this: +.Pp +.Li echo nancy | awk '{ print $1 + 0 }' +.Pp +printing +.Dv nan +instead of zero. +.Pp +.Nm +now follows GNU +.Nm , +and prefilters string values before attempting +to convert them to numbers, as follows: +.Bl -tag -width Ds +.It Hexadecimal values +Hexadecimal values (allowed since C99) convert to zero, as they did +prior to C99. +.It NaN values +The two strings +.Dq +NAN +and +.Dq -NAN +(case independent) convert to NaN. +No others do. +(NaNs can have signs.) +.It Infinity values +The two strings +.Dq +INF +and +.Dq -INF +(case independent) convert to positive and negative infinity, respectively. +No others do. +.El +.Sh SEE ALSO +.Xr cut 1 , +.Xr date 1 , +.Xr grep 1 , +.Xr lex 1 , +.Xr printf 1 , +.Xr sed 1 , +.Xr strftime 3 , +.Xr re_format 7 , +.Xr script 7 +.Rs +.\" 4.4BSD USD:16 +.\".%R Computing Science Technical Report +.\".%N 68 +.\".%D July 1978 +.%A A. V. Aho +.%A P. J. Weinberger +.%A B. W. Kernighan +.%T AWK \(em A Pattern Scanning and Processing Language +.%J Software \(em Practice and Experience +.%V 9:4 +.%P pp. 267-279 +.%D April 1979 +.Re +.Rs +.%A A. V. Aho +.%A B. W. Kernighan +.%A P. J. Weinberger +.%T The AWK Programming Language +.%I Addison-Wesley +.%D 2024 +.%O ISBN 0-13-826972-6 +.Re +.Sh STANDARDS +The +.Nm +utility is compliant with the +.St -p1003.1-2024 +specification except that consecutive backslashes in the replacement +string argument for +.Fn sub +and +.Fn gsub +are not collapsed and a slash +.Pq Ql / +does not need to be escaped in a bracket expression. +Also, the behaviour of +.Fn rand +and +.Fn srand +has been changed to support non-deterministic random numbers. +.Pp +The flags +.Op Fl \&dV , +.Op Fl -csv , +and +.Op Fl safe , +support for regular expressions in +.Va RS , +as well as the functions +.Fn fflush , +.Fn gensub , +.Fn compl , +.Fn and , +.Fn or , +.Fn xor , +.Fn lshift , +.Fn rshift , +.Fn mktime , +.Fn strftime +and +.Fn systime +are extensions to that specification. +.Sh HISTORY +An +.Nm +utility appeared in +.At v7 . +.Sh BUGS +There are no explicit conversions between numbers and strings. +To force an expression to be treated as a number add 0 to it; +to force it to be treated as a string concatenate +.Li \&"" +to it. +.Pp +The scope rules for variables in functions are a botch; +the syntax is worse. diff --git a/static/openbsd/man1/banner.1 b/static/openbsd/man1/banner.1 new file mode 100644 index 00000000..59fc82db --- /dev/null +++ b/static/openbsd/man1/banner.1 @@ -0,0 +1,46 @@ +.\" $OpenBSD: banner.1,v 1.8 2007/08/06 19:16:06 sobrado Exp $ +.\" $NetBSD: banner.1,v 1.1.1.1 1995/04/09 05:53:04 cgd Exp $ +.\" +.\" @(#)Copyright (c) 1995, Simon J. Gerraty. +.\" +.\" This is free software. It comes with NO WARRANTY. +.\" Permission to use, modify and distribute this source code +.\" is granted subject to the following conditions. +.\" 1/ that the above copyright notice and this notice +.\" are preserved in all copies and that due credit be given +.\" to the author. +.\" 2/ that any changes to this code are clearly commented +.\" as such so that the author does not get blamed for bugs +.\" other than his own. +.\" +.\" Please send copies of changes and bug-fixes to: +.\" sjg@zen.void.oz.au +.\" +.Dd $Mdocdate: August 6 2007 $ +.Dt BANNER 1 +.Os +.Sh NAME +.Nm banner +.Nd print strings in large letters +.Sh SYNOPSIS +.Nm banner +.Ar string ... +.Sh DESCRIPTION +.Nm +prints up to 10 characters of each +.Ar string +in large letters on the standard output. +.Sh EXAMPLES +The command +.Ic banner openbsd +displays: +.Bd -literal -offset indent + #### ##### ###### # # ##### #### ##### + # # # # # ## # # # # # # + # # # # ##### # # # ##### #### # # + # # ##### # # # # # # # # # + # # # # # ## # # # # # # + #### # ###### # # ##### #### ##### +.Ed +.Sh SEE ALSO +.Xr echo 1 diff --git a/static/openbsd/man1/basename.1 b/static/openbsd/man1/basename.1 new file mode 100644 index 00000000..40e2c023 --- /dev/null +++ b/static/openbsd/man1/basename.1 @@ -0,0 +1,76 @@ +.\" $OpenBSD: basename.1,v 1.18 2024/07/30 19:16:49 jmc Exp $ +.\" $NetBSD: basename.1,v 1.9 1995/03/25 18:17:45 glass Exp $ +.\" +.\" Copyright (c) 1990, 1993, 1994 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" the Institute of Electrical and Electronics Engineers, Inc. +.\" +.\" 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. 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. +.\" +.\" @(#)basename.1 8.2 (Berkeley) 4/18/94 +.\" +.Dd $Mdocdate: July 30 2024 $ +.Dt BASENAME 1 +.Os +.Sh NAME +.Nm basename +.Nd return filename portion of pathname +.Sh SYNOPSIS +.Nm basename +.Ar string +.Op Ar suffix +.Sh DESCRIPTION +.Nm +deletes any prefix ending with the last slash +.Pq Sq \&/ +character present in +.Ar string , +and a +.Ar suffix , +if given. +The resulting filename is written to the standard output. +A non-existent suffix is ignored. +.Sh EXIT STATUS +.Ex -std basename +.Sh EXAMPLES +The following line sets the shell variable +.Ev FOO +to +.Pa tail : +.Pp +.Dl FOO=`basename /usr/bin/tail` +.Sh SEE ALSO +.Xr csh 1 , +.Xr dirname 1 , +.Xr sh 1 , +.Xr basename 3 +.Sh STANDARDS +The +.Nm +utility is compliant with the +.St -p1003.1-2024 +specification. diff --git a/static/openbsd/man1/bc.1 b/static/openbsd/man1/bc.1 new file mode 100644 index 00000000..260ca5da --- /dev/null +++ b/static/openbsd/man1/bc.1 @@ -0,0 +1,409 @@ +.\" $OpenBSD: bc.1,v 1.36 2024/07/31 05:36:13 jmc Exp $ +.\" +.\" Copyright (C) Caldera International Inc. 2001-2002. +.\" 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 and documentation 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 or owned by Caldera +.\" International, Inc. +.\" 4. Neither the name of Caldera International, Inc. nor the names of other +.\" contributors may be used to endorse or promote products derived from +.\" this software without specific prior written permission. +.\" +.\" USE OF THE SOFTWARE PROVIDED FOR UNDER THIS LICENSE BY CALDERA +.\" INTERNATIONAL, INC. 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 CALDERA INTERNATIONAL, INC. 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. +.\" +.\" @(#)bc.1 6.8 (Berkeley) 8/8/91 +.\" +.Dd $Mdocdate: July 31 2024 $ +.Dt BC 1 +.Os +.Sh NAME +.Nm bc +.Nd arbitrary-precision arithmetic language and calculator +.Sh SYNOPSIS +.Nm bc +.Op Fl cl +.Op Fl e Ar expression +.Op Ar file ... +.Sh DESCRIPTION +.Nm +is an interactive processor for a language which resembles +C but provides unlimited precision arithmetic. +It takes input from any expressions on the command line and +any files given, then reads the standard input. +.Pp +Options available: +.Bl -tag -width Ds +.It Fl c +.Nm +is actually a preprocessor for +.Xr dc 1 , +which it invokes automatically, unless the +.Fl c +.Pq compile only +option is present. +In this case the generated +.Xr dc 1 +instructions are sent to the standard output, +instead of being interpreted by a running +.Xr dc 1 +process. +.It Fl e Ar expression +Evaluate +.Ar expression . +If multiple +.Fl e +options are specified, they are processed in the order given, +separated by newlines. +.It Fl l +Include an arbitrary precision math library. +The definitions in the library are available to command line expressions +and are documented below. +.El +.Pp +The syntax for +.Nm +programs is as follows: +.Sq L +means letter a-z; +.Sq E +means expression; +.Sq S +means statement. +As a non-portable extension, it is possible to use long names +in addition to single letter names. +A long name is a sequence starting with a lowercase letter +followed by any number of lowercase letters and digits. +The underscore character +.Pq Sq _ +counts as a letter. +.Pp +Comments +.Bd -unfilled -offset indent -compact +are enclosed in /* and */ +are enclosed in # and the next newline +.Ed +.Pp +The newline is not part of the line comment, +which in itself is a non-portable extension. +.Pp +Names +.Bd -unfilled -offset indent -compact +simple variables: L +array elements: L [ E ] +The words `ibase', `obase', and `scale' +The word `last' or a single dot +.Ed +.Pp +Other operands +.Bd -unfilled -offset indent -compact +arbitrarily long numbers with optional sign and decimal point +( E ) +sqrt ( E ) +length ( E ) number of significant decimal digits +scale ( E ) number of digits right of decimal point +L ( E , ... , E ) +.Ed +.Pp +The sequence +.Sq \e +is ignored within numbers. +.Pp +Operators +.Pp +The following arithmetic and logical operators can be used. +The semantics of the operators is the same as in the C language. +They are listed in order of decreasing precedence. +Operators in the same group have the same precedence. +.Bl -column "= += \-= *= /= %= ^=" "Associativity" "multiply, divide, modulus" -offset indent +.It Sy "Operator" Ta Sy "Associativity" Ta Sy "Description" +.It "++ \-\-" Ta "none" Ta "increment, decrement" +.It "\-" Ta "none" Ta "unary minus" +.It "^" Ta "right" Ta "power" +.It "* / %" Ta "left" Ta "multiply, divide, modulus" +.It "+ \-" Ta "left" Ta "plus, minus" +.It "= += -= *= /= %= ^=" Ta "right" Ta "assignment" +.It "== <= >= != < >" Ta "none" Ta "relational" +.It "!" Ta "none" Ta "boolean not" +.It "&&" Ta "left" Ta "boolean and" +.It "||" Ta "left" Ta "boolean or" +.El +.Pp +Note the following: +.Bl -bullet -offset indent +.It +The relational operators may appear in any expression. +The +.St -p1003.1-2008 +standard only allows them in the conditional expression of an +.Sq if , +.Sq while +or +.Sq for +statement. +.It +The relational operators have a lower precedence than the assignment +operators. +This has the consequence that the expression +.Sy a = b < c +is interpreted as +.Sy (a = b) < c , +which is probably not what the programmer intended. +.It +In contrast with the C language, the relational operators all have +the same precedence, and are non-associative. +The expression +.Sy a < b < c +will produce a syntax error. +.It +The boolean operators (!, && and ||) are non-portable extensions. +.It +The boolean not +(!) operator has much lower precedence than the same operator in the +C language. +This has the consequence that the expression +.Sy !a < b +is interpreted as +.Sy !(a < b) . +Prudent programmers use parentheses when writing expressions involving +boolean operators. +.El +.Pp +Statements +.Bd -unfilled -offset indent -compact +E +{ S ; ... ; S } +if ( E ) S +if ( E ) S else S +while ( E ) S +for ( E ; E ; E ) S +null statement +break +continue +quit +a string of characters, enclosed in double quotes +print E ,..., E +.Ed +.Pp +A string may contain any character, except double quote. +The if statement with an else branch is a non-portable extension. +All three E's in a for statement may be empty. +This is a non-portable extension. +The continue and print statements are also non-portable extensions. +.Pp +The print statement takes a list of comma-separated expressions. +Each expression in the list is evaluated and the computed +value is printed and assigned to the variable `last'. +No trailing newline is printed. +The expression may also be a string enclosed in double quotes. +Within these strings the following escape sequences may be used: +.Sq \ea +for bell (alert), +.Sq \eb +for backspace, +.Sq \ef +for formfeed, +.Sq \en +for newline, +.Sq \er +for carriage return, +.Sq \et +for tab, +.Sq \eq +for double quote and +.Sq \e\e +for backslash. +Any other character following a backslash will be ignored. +Strings will not be assigned to `last'. +.Pp +Function definitions +.Bd -unfilled -offset indent +define L ( L ,..., L ) { + auto L, ... , L + S; ... S + return ( E ) +} +.Ed +.Pp +As a non-portable extension, the opening brace of the define statement +may appear on the next line. +The return statement may also appear in the following forms: +.Bd -unfilled -offset indent +return +return () +return E +.Ed +.Pp +The first two are equivalent to the statement +.Dq return 0 . +The last form is a non-portable extension. +Not specifying a return statement is equivalent to writing +.Dq return (0) . +.Pp +Functions available in the math library, which is loaded by specifying the +.Fl l +flag on the command line: +.Pp +.Bl -tag -width j(n,x) -offset indent -compact +.It s(x) +sine +.It c(x) +cosine +.It e(x) +exponential +.It l(x) +log +.It a(x) +arctangent +.It j(n,x) +Bessel function +.El +.Pp +All function arguments are passed by value. +.Pp +The value of a statement that is an expression is printed +unless the main operator is an assignment. +The value printed is assigned to the special variable `last'. +This is a non-portable extension. +A single dot may be used as a synonym for `last'. +Either semicolons or newlines may separate statements. +Assignment to +.Ar scale +influences the number of digits to be retained on arithmetic +operations in the manner of +.Xr dc 1 . +Assignments to +.Ar ibase +or +.Ar obase +set the input and output number radix respectively. +.Pp +The same letter may be used as an array, a function, +and a simple variable simultaneously. +All variables are global to the program. +`Auto' variables are pushed down during function calls. +When using arrays as function arguments +or defining them as automatic variables, +empty square brackets must follow the array name. +.Pp +For example +.Bd -literal -offset indent +scale = 20 +define e(x){ + auto a, b, c, i, s + a = 1 + b = 1 + s = 1 + for(i=1; 1==1; i++){ + a = a*x + b = b*i + c = a/b + if(c == 0) return(s) + s = s+c + } +} +.Ed +.Pp +defines a function to compute an approximate value of +the exponential function and +.Pp +.Dl for(i=1; i<=10; i++) e(i) +.Pp +prints approximate values of the exponential function of +the first ten integers. +.Bd -literal -offset indent +$ bc -l -e 'scale = 500; 4 * a(1)' -e quit +.Ed +.Pp +prints an approximation of pi. +.Sh COMMAND LINE EDITING +.Nm +supports interactive command line editing, via the +.Xr editline 3 +library. +It is enabled by default if input is from a tty. +Previous lines can be recalled and edited with the arrow keys, +and other GNU Emacs-style editing keys may be used as well. +.Pp +The +.Xr editline 3 +library is configured with a +.Pa .editrc +file \- refer to +.Xr editrc 5 +for more information. +.Sh FILES +.Bl -tag -width /usr/share/misc/bc.library -compact +.It Pa /usr/share/misc/bc.library +math library, read when the +.Fl l +option is specified on the command line. +.El +.Sh SEE ALSO +.Xr dc 1 +.Rs +.\" 4.4BSD USD:6 +.%A L. L. Cherry +.%A R. H. Morris +.%T "BC \(em An Arbitrary Precision Desk-Calculator Language" +.Re +.Sh STANDARDS +The +.Nm +utility is compliant with the +.St -p1003.1-2008 +specification. +.Pp +The flags +.Op Fl ce , +as well as the parts noted above, +are extensions to that specification. +.Sh HISTORY +The +.Nm +command first appeared in +.At v6 . +A complete rewrite of the +.Nm +command first appeared in +.Ox 3.5 . +.Sh AUTHORS +.An -nosplit +The original version of the +.Nm +command was written by +.An Robert Morris +and +.An Lorinda Cherry . +The current version of the +.Nm +utility was written by +.An Otto Moerbeek . +.Sh BUGS +The +.Ql quit +statement is interpreted when read, not when executed. +.Pp +Some non-portable extensions, as found in the GNU version of the +.Nm +utility are not implemented (yet). diff --git a/static/openbsd/man1/biff.1 b/static/openbsd/man1/biff.1 new file mode 100644 index 00000000..7fb96bcb --- /dev/null +++ b/static/openbsd/man1/biff.1 @@ -0,0 +1,99 @@ +.\" $OpenBSD: biff.1,v 1.18 2013/08/12 14:19:53 jmc Exp $ +.\" $NetBSD: biff.1,v 1.3 1995/03/26 02:34:21 glass Exp $ +.\" +.\" Copyright (c) 1980, 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. 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. +.\" +.\" @(#)biff.1 8.1 (Berkeley) 6/6/93 +.\" +.Dd $Mdocdate: August 12 2013 $ +.Dt BIFF 1 +.Os +.Sh NAME +.Nm biff +.Nd be notified if mail arrives and who it is from +.Sh SYNOPSIS +.Nm biff +.Op Cm n | y +.Sh DESCRIPTION +.Nm +informs the system whether you want to be notified when mail arrives +during the current terminal session. +.Pp +The options are as follows: +.Bl -tag -width Ds +.It Cm n +Disables notification. +.It Cm y +Enables notification. +.El +.Pp +When mail notification is enabled, the header and first few lines of +the message will be printed on your screen whenever mail arrives. +A +.Dq Li biff y +command is often included in the file +.Pa \&.login +or +.Pa \&.profile +to be executed at each login. +.Pp +.Nm +operates asynchronously. +For synchronous notification use the +.Ev MAIL +variable of +.Xr sh 1 +or the +.Ev mail +variable of +.Xr csh 1 . +.Sh EXIT STATUS +The +.Nm +utility exits with one of the following values: +.Bl -tag -width indent +.It 0 +Notification was enabled at the time of invocation. +.It 1 +Notification was disabled at the time of invocation. +.It >1 +An error occurred. +.El +.Sh SEE ALSO +.Xr csh 1 , +.Xr mail 1 , +.Xr sh 1 , +.Xr comsat 8 +.Sh HISTORY +The +.Nm +command appeared in +.Bx 4.0 . +.Qq Biff +was Heidi Stettner's dog. +He died in August 1993, at 15. diff --git a/static/openbsd/man1/binedit.1 b/static/openbsd/man1/binedit.1 new file mode 100644 index 00000000..f3639c19 --- /dev/null +++ b/static/openbsd/man1/binedit.1 @@ -0,0 +1,172 @@ +.\" $OpenBSD: binedit.1,v 1.1 2016/07/30 10:56:13 schwarze Exp $ +.\" +.\" Copyright (c) 2016 Ingo Schwarze +.\" +.\" Permission to use, copy, modify, and distribute this software for any +.\" purpose with or without fee is hereby granted, provided that the above +.\" copyright notice and this permission notice appear in all copies. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +.\" +.Dd $Mdocdate: July 30 2016 $ +.Dt BINEDIT 1 +.Os +.Sh NAME +.Nm binedit +.Nd non-interactive binary file editor +.Sh SYNOPSIS +.Nm binedit +.Ar command_string +.Sh DESCRIPTION +The +.Nm +utility reads a string of arbitrary bytes from the standard input, +edits it according to the +.Ar command_string , +and writes the resulting string of bytes to the standard output. +.Pp +The +.Ar command_string +consists of an arbitrary number of one-letter commands. +Some commands take a numeric argument. +No delimiters are used. +.Pp +Commands use two number registers: +A +.Va value +set by +.Ic r +and +.Ic w , +modfied by +.Ic i , +and used by +.Ic d , +and a +.Va destination +set by +.Ic d +and used by +.Ic a . +.Pp +All numbers are signed 32-bit integers. +On the command line, they are given in decimal notation, +optionally preceded by a sign. +In the input and output streams, they are represented in +big endian (network) byte order. +.Pp +The commands are as follows: +.Bl -tag -width Ds +.It Ic a +Advance: copy bytes up to and including the input +.Va destination +set with the +.Ic d +command. +.It Ic c Ar bytes +Copy the specified number of +.Ar bytes . +.It Ic d +Set the input file +.Va destination +to the saved +.Va value . +Bytes are counted from 1. +.It Ic f +Finish: copy all remaining bytes. +This command can only appear once at the end of the +.Ar command_string . +.It Ic i Op Ar amount +Increment the saved +.Va value +by the given +.Ar amount , +by default 1. +.It Ic r +Read one number from the standard input and save the +.Va value . +.It Ic s Ar bytes +Skip the specified number of +.Ar bytes +on the standard input. +.It Ic w Op Ar value +Write the given +.Ar value +and also save it. +If no argument is given, the saved +.Va value +is written. +.El +.Sh EXIT STATUS +.Ex -std +.Sh EXAMPLES +See the file +.Pa /usr/src/regress/usr.bin/mandoc/db/run/Makefile +for several examples. +For example, with the +.Ar command_string +.Ic c12rdwariwf , +.Nm +reads a valid +.Xr mandoc_db 5 +file from the standard input and prints a corrupted version to the +standard output where the final magic is incremented by one. +.Sh DIAGNOSTICS +Error messages are formatted as follows: +.Pp +.D1 Ar command : message Ns Op Ns : Ar errno_message +.Pp +The +.Ar message +strings are as follows: +.Bl -tag -width Ds +.It Ar command : Sy EOF +The input file ended prematurely. +Can occur during the +.Ic a , +.Ic c , +.Ic r , +and +.Ic s +commands. +.It Ar command : Sy getchar : Ar errno_message +The +.Xr getchar 3 +function failed. +Can occur during the +.Ic a , +.Ic c , +.Ic f , +and +.Ic s +commands. +.It Ic r : Sy fread : Ar errno_message +The +.Xr fread 3 +function failed while processing an +.Ic r +command. +.It Ic w : Sy fwrite : Ar errno_message +The +.Xr fwrite 3 +function failed while processing a +.Ic w +command. +.It Ic f Ns ... : Sy not the last command +An +.Ic f +command was encountered before the end of the +.Ar command_string . +.It Ar command : Sy invalid command +An invalid byte was found in the +.Ar command_string , +or an argument was given after a command that does not accept one. +.El +.Sh AUTHORS +.An Ingo Schwarze Aq Mt schwarze@openbsd.org diff --git a/static/openbsd/man1/cal.1 b/static/openbsd/man1/cal.1 new file mode 100644 index 00000000..1e0e4fbb --- /dev/null +++ b/static/openbsd/man1/cal.1 @@ -0,0 +1,132 @@ +.\" $OpenBSD: cal.1,v 1.33 2024/07/31 17:09:23 jmc Exp $ +.\" $NetBSD: cal.1,v 1.6 1995/09/02 05:34:20 jtc Exp $ +.\" +.\" Copyright (c) 1989, 1990, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" Kim Letkeman. +.\" +.\" 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. 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. +.\" +.\" @(#)cal.1 8.2 (Berkeley) 4/28/95 +.\" +.Dd $Mdocdate: July 31 2024 $ +.Dt CAL 1 +.Os +.Sh NAME +.Nm cal +.Nd displays a calendar +.Sh SYNOPSIS +.Nm cal +.Op Fl jmwy +.Op Ar month +.Op Ar year +.Sh DESCRIPTION +.Nm +displays a simple calendar. +Calendars may be displayed by month or by year. +.Pp +The options are as follows: +.Bl -tag -width Ds +.It Fl j +Display Julian dates (days one-based, numbered from January 1). +The options +.Fl j +and +.Fl w +are mutually exclusive. +.It Fl m +Display weeks starting on Monday instead of Sunday. +.It Fl w +Display week numbers in the month display. +If +.Fl m +is specified, the ISO week format is assumed. +The options +.Fl j +and +.Fl w +are mutually exclusive. +.It Fl y +Display a calendar for the current year. +.El +.Pp +A single numerical parameter specifies the +.Ar year +(1 \- 9999) +to be displayed. +The year must be fully specified: +.Dq Li cal 89 +will +.Em not +display a calendar for 1989. +Two parameters denote the +.Ar month +(1 \- 12, or a month name or abbreviation thereof) +and +.Ar year . +Alternatively, +a single parameter may be given specifying +the name or abbreviated name of a month: +in that case a calendar is displayed for that month of the current year. +If no parameters are specified, the current month's calendar is +displayed. +.Pp +A year starts on January 1st. +.Pp +The Gregorian Reformation is assumed to have occurred in 1752 after the 2nd +of September. +By this time, most countries had recognized the Reformation (although a +few did not recognize it until the early 1900s). +Eleven days following that date were eliminated by the Reformation, so the +calendar for that month is a bit unusual. +.Sh EXIT STATUS +.Ex -std cal +.Sh SEE ALSO +.Xr calendar 1 +.Sh STANDARDS +The +.Nm +utility is compliant with the +X/Open System Interfaces option of the +.St -p1003.1-2024 +specification. +.Pp +The flags +.Op Fl jmwy , +as well as the ability to specify a month name as a single argument, +are extensions to that specification. +.Pp +The week number computed by +.Fl mw +is compliant with the +.St -iso8601 +specification. +.Sh HISTORY +A +.Nm +command appeared in +.At v1 . diff --git a/static/openbsd/man1/calendar.1 b/static/openbsd/man1/calendar.1 new file mode 100644 index 00000000..1fd8a5f8 --- /dev/null +++ b/static/openbsd/man1/calendar.1 @@ -0,0 +1,277 @@ +.\" $OpenBSD: calendar.1,v 1.45 2025/02/21 19:04:34 kirill Exp $ +.\" +.\" Copyright (c) 1989, 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. 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. +.\" +.\" @(#)calendar.1 8.1 (Berkeley) 6/29/93 +.\" +.Dd $Mdocdate: February 21 2025 $ +.Dt CALENDAR 1 +.Os +.Sh NAME +.Nm calendar +.Nd reminder service +.Sh SYNOPSIS +.Nm calendar +.Op Fl abw +.Op Fl A Ar num +.Op Fl B Ar num +.Op Fl f Ar calendarfile +.Op Fl t Oo Oo Oo Ar cc Oc Ns Ar yy Oc Ns Ar mm Oc Ns Ar dd +.Sh DESCRIPTION +The +.Nm +utility checks the current directory or the directory specified by the +.Ev CALENDAR_DIR +environment variable for a file named +.Pa calendar +and displays lines that begin with either today's date +or tomorrow's. +On Fridays, events on Friday through Monday are displayed. +.Pp +The options are as follows: +.Bl -tag -width Ds +.It Fl A Ar num +Print lines from today and next +.Ar num +days (forward, future). +.It Fl a +Process the +.Dq calendar +files of all users and mail the results +to them. +This requires superuser privileges. +.It Fl B Ar num +Print lines from today and previous +.Ar num +days (backward, past). +.It Fl b +Enforce special date calculation mode for Cyrillic calendars. +.It Fl f Ar calendarfile +Use +.Ar calendarfile +as the default calendar file. +.It Fl t Oo Oo Oo Ar cc Oc Ns Ar yy Oc Ns Ar mm Oc Ns Ar dd +Act like the specified value is +.Dq today +instead of using the current date. +If yy is specified, but cc is not, +a value for yy between 69 and 99 results in a cc value of 19. +Otherwise, a cc value of 20 is used. +.It Fl w +Print day of the week name in front of each event. +.El +.Pp +To handle calendars in your national code table you can specify +.Dq LANG= +in the calendar file as early as possible. +To handle national Easter names in the calendars, +.Dq Easter= +(for Catholic Easter) or +.Dq Paskha= +(for Orthodox Easter) can be used. +.Pp +The +.Dq CALENDAR +variable can be used to specify the style. +Only +.Sq Julian +and +.Sq Gregorian +styles are currently supported. +Use +.Dq CALENDAR= +to return to the default (Gregorian). +.Pp +The +.Dq RECIPIENT_EMAIL +variable can be used to specify recipient of daily mails. +.Pp +To enforce special date calculation mode for Cyrillic calendars +you should specify +.Dq LANG= +and +.Dq BODUN= +where can be ru_RU.UTF-8, uk_UA.UTF-8 or by_BY.UTF-8. +.Pp +Other lines should begin with a month and day. +They may be entered in almost any format, either numeric or as character +strings. +If proper locale is set, national months and weekdays +names can be used. +A single asterisk +.Pq Sq * +matches every month. +A day without a month matches that day of every week. +A month without a day matches the first of that month. +Two numbers default to the month followed by the day. +Lines with leading tabs default to the last entered date, allowing +multiple line specifications for a single date. +.Dq Easter +(may be followed by a positive or negative integer) is Easter for this year. +.Dq Paskha +(may be followed by a positive or negative integer) is +Orthodox Easter for this year. +Weekdays may be followed by +.Dq -4 +.Li ... +.Dq +5 +(aliases last, first, second, third, fourth) for moving events like +.Dq the last Monday in April . +.Pp +By convention, dates followed by an asterisk +.Pq Sq * +are not fixed, i.e., change +from year to year. +.Pp +Day descriptions start after the first character in the line; +if the line does not contain a character, it isn't printed out. +If the first character in the line is a character, it is treated as +the continuation of the previous description. +.Pp +The calendar file is preprocessed by +.Xr cpp 1 , +allowing the inclusion of shared files such as company holidays or +meetings. +If the shared file is not referenced by a full pathname, +.Xr cpp 1 +searches in the current (or home) directory first, and then in the +directory +.Pa /usr/share/calendar . +Empty lines and lines protected by the C commenting syntax +.Pq Li /* ... */ +are ignored. +.Pp +Some possible calendar entries +(a \fB\et\fR sequence denotes a character): +.Bd -unfilled -offset indent +LANG=C +Easter=Ostern + +#include +#include + +6/15\fB\et\fRJune 15 (if ambiguous, will default to month/day). +Jun. 15\fB\et\fRJune 15. +15 June\fB\et\fRJune 15. +Thursday\fB\et\fREvery Thursday. +June\fB\et\fREvery June 1st. +15 *\fB\et\fR15th of every month. + +May Sun+2\fB\et\fRsecond Sunday in May (Muttertag) +04/SunLast\fB\et\fRlast Sunday in April, +\fB\et\fRsummer time in Europe +Easter\fB\et\fREaster +Ostern-2\fB\et\fRGood Friday (2 days before Easter) +Paskha\fB\et\fROrthodox Easter +.Ed +.Sh FILES +.Bl -tag -width ~/.calendar/calendar -compact +.It Pa calendar +File in current directory. +.It Pa ~/.calendar +Directory in the user's home directory (which +.Nm +changes into, if it exists). +.It Pa ~/.calendar/calendar +File to use if no calendar file exists in the current directory. +.It Pa ~/.calendar/nomail +.Nm +will not send mail if this file exists. +.It Pa calendar.all +International and national calendar files. +.It Pa calendar.birthday +Births and deaths of famous (and not-so-famous) people. +.It Pa calendar.canada +Canadian holidays. +.It Pa calendar.christian +Christian holidays (should be updated yearly by the local system administrator +so that roving holidays are set correctly for the current year). +.It Pa calendar.computer +Days of special significance to computer people. +.It Pa calendar.croatian +Croatian calendar. +.It Pa calendar.discord +Discordian calendar (all rites reversed). +.It Pa calendar.fictional +Fantasy and fiction dates (mostly LOTR). +.It Pa calendar.french +French calendar. +.It Pa calendar.german +German calendar. +.It Pa calendar.history +Miscellaneous history. +.It Pa calendar.holiday +Other holidays (including the not-well-known, obscure, and +.Em really +obscure). +.It Pa calendar.judaic +Jewish holidays (should be updated yearly by the local system administrator +so that roving holidays are set correctly for the current year). +.It Pa calendar.music +Musical events, births, and deaths (strongly oriented toward rock 'n' roll). +.It Pa calendar.nz +New Zealand calendar. +.It Pa calendar.openbsd +.Ox +related events. +.It Pa calendar.pagan +Pagan holidays, celebrations and festivals. +.It Pa calendar.russian +Russian calendar. +.It Pa calendar.space +Cosmic history. +.It Pa calendar.uk +UK calendar. +.It Pa calendar.ushistory +U.S. history. +.It Pa calendar.usholiday +U.S. holidays. +.It Pa calendar.world +World wide calendar. +.El +.Sh SEE ALSO +.Xr at 1 , +.Xr cal 1 , +.Xr cpp 1 , +.Xr mail 1 , +.Xr cron 8 +.Sh STANDARDS +The +.Nm +program previously selected lines which had the correct date anywhere +in the line. +This is no longer true: the date is only recognized when it occurs +at the beginning of a line. +.Sh HISTORY +A +.Nm +command appeared in +.At v7 . +.Sh BUGS +.Nm +doesn't handle all Jewish holidays or moon phases. diff --git a/static/openbsd/man1/cap_mkdb.1 b/static/openbsd/man1/cap_mkdb.1 new file mode 100644 index 00000000..9db0e94c --- /dev/null +++ b/static/openbsd/man1/cap_mkdb.1 @@ -0,0 +1,101 @@ +.\" $OpenBSD: cap_mkdb.1,v 1.21 2019/09/02 21:18:41 deraadt Exp $ +.\" $NetBSD: cap_mkdb.1,v 1.4 1995/03/26 03:59:36 glass Exp $ +.\" +.\" 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. 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. +.\" +.\" @(#)cap_mkdb.1 8.1 (Berkeley) 6/6/93 +.\" +.Dd $Mdocdate: September 2 2019 $ +.Dt CAP_MKDB 1 +.Os +.Sh NAME +.Nm cap_mkdb +.Nd create capability database +.Sh SYNOPSIS +.Nm cap_mkdb +.Op Fl v +.Op Fl f Ar outfile +.Ar file1 +.Op Ar file2 ... +.Sh DESCRIPTION +.Nm +builds a hashed database out of the +.Xr cgetent 3 +logical database constructed by the concatenation of the specified +files. +.Pp +The database is named by the basename of the first file argument and +the string +.Dq .db . +The +.Xr cgetent 3 +routines can access the database in this form much more quickly +than they can the original text file(s). +.Pp +The +.Dq tc +capabilities of the records are expanded before the +record is stored into the database. +.Pp +The options are as follows: +.Bl -tag -width Ds +.It Fl f Ar outfile +Specify a different database basename. +.It Fl v +Print out the number of capability records in the database. +.El +.Pp +Each record is stored in the database using two different types of keys. +.Pp +The first type is a key which consists of the first capability of +the record (not including the trailing colon +.Pq Ql \&: ) +with a data +field consisting of a special byte followed by the rest of the record. +The special byte is either a 0 or 1, where a 0 means that the record +is okay, and a 1 means that there was a +.Dq tc +capability in the record +that couldn't be expanded. +.Pp +The second type is a key which consists of one of the names from the +first capability of the record with a data field consisting a special +byte followed by the first capability of the record. +The special byte is a 2. +.Pp +In normal operation names are looked up in the database, resulting +in a key/data pair of the second type. +The data field of this key/data pair is used to look up a key/data +pair of the first type which has the real data associated with the +name. +.Sh EXIT STATUS +.Ex -std cap_mkdb +.Sh SEE ALSO +.Xr cgetent 3 , +.Xr dbopen 3 , +.Xr termcap 5 diff --git a/static/openbsd/man1/captoinfo.1 b/static/openbsd/man1/captoinfo.1 new file mode 100644 index 00000000..5c363dd2 --- /dev/null +++ b/static/openbsd/man1/captoinfo.1 @@ -0,0 +1,208 @@ +'\" t +.\" $OpenBSD: captoinfo.1,v 1.2 2023/10/17 09:52:10 nicm Exp $ +.\"*************************************************************************** +.\" Copyright 2018-2022,2023 Thomas E. Dickey * +.\" Copyright 1998-2010,2016 Free Software Foundation, Inc. * +.\" * +.\" Permission is hereby granted, free of charge, to any person obtaining a * +.\" copy of this software and associated documentation files (the * +.\" "Software"), to deal in the Software without restriction, including * +.\" without limitation the rights to use, copy, modify, merge, publish, * +.\" distribute, distribute with modifications, sublicense, and/or sell * +.\" copies of the Software, and to permit persons to whom the Software is * +.\" furnished to do so, subject to the following conditions: * +.\" * +.\" The above copyright notice and this permission notice shall be included * +.\" in all copies or substantial portions of the Software. * +.\" * +.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * +.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * +.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * +.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * +.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * +.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * +.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * +.\" * +.\" Except as contained in this notice, the name(s) of the above copyright * +.\" holders shall not be used in advertising or otherwise to promote the * +.\" sale, use or other dealings in this Software without prior written * +.\" authorization. * +.\"*************************************************************************** +.\" +.\" $Id: captoinfo.1,v 1.2 2023/10/17 09:52:10 nicm Exp $ +.TH captoinfo 1 2023-08-19 "ncurses 6.4" "User commands" +.ds n 5 +.ds d /usr/share/terminfo +.SH NAME +\fBcaptoinfo\fP \- convert a \fItermcap\fP description into a \fIterminfo\fP description +.SH SYNOPSIS +\fBcaptoinfo\fR [\fB\-v\fIn\fR \fIwidth\fR] [\fB\-V\fR] [\fB\-1\fR] [\fB\-w\fR \fIwidth\fR] \fIfile\fR ... +.SH DESCRIPTION +\fBcaptoinfo\fP looks in each given text +\fIfile\fP for \fBtermcap\fP descriptions. +For each +one found, an equivalent \fBterminfo\fP description is written to standard +output. +Termcap \fBtc\fP capabilities are translated directly to terminfo +\fBuse\fP capabilities. +.PP +If no \fIfile\fP is given, then the environment variable \fBTERMCAP\fP is used +for the filename or entry. +If \fBTERMCAP\fP is a full pathname to a file, only +the terminal whose name is specified in the environment variable \fBTERM\fP is +extracted from that file. +If the environment variable \fBTERMCAP\fP is not +set, then the file \fB\*d\fP is read. +.TP 5 +\fB\-v\fP +print out tracing information on standard error as the program runs. +.TP 5 +\fB\-V\fP +print out the version of the program in use on standard error and exit. +.TP 5 +\fB\-1\fP +cause the fields to print out one to a line. +Otherwise, the fields +will be printed several to a line to a maximum width of 60 +characters. +.TP 5 +\fB\-w\fP +change the output to \fIwidth\fP characters. +.SH FILES +.TP 20 +\*d +Compiled terminal description database. +.SH TRANSLATIONS FROM NONSTANDARD CAPABILITIES +Some obsolete nonstandard capabilities will automatically be translated +into standard (SVr4/XSI Curses) terminfo capabilities by \fBcaptoinfo\fP. +Whenever one of these automatic translations is done, the program +will issue an notification to stderr, inviting the user to check that +it has not mistakenly translated a completely unknown and random +capability and/or syntax error. +.PP +.TS H +c c c c +c c c c +l l l l. +Nonstd Std From Terminfo +name name capability +_ +BO mr AT&T enter_reverse_mode +CI vi AT&T cursor_invisible +CV ve AT&T cursor_normal +DS mh AT&T enter_dim_mode +EE me AT&T exit_attribute_mode +FE LF AT&T label_on +FL LO AT&T label_off +XS mk AT&T enter_secure_mode +EN @7 XENIX key_end +GE ae XENIX exit_alt_charset_mode +GS as XENIX enter_alt_charset_mode +HM kh XENIX key_home +LD kL XENIX key_dl +PD kN XENIX key_npage +PN po XENIX prtr_off +PS pf XENIX prtr_on +PU kP XENIX key_ppage +RT @8 XENIX kent +UP ku XENIX kcuu1 +KA k; Tek key_f10 +KB F1 Tek key_f11 +KC F2 Tek key_f12 +KD F3 Tek key_f13 +KE F4 Tek key_f14 +KF F5 Tek key_f15 +BC Sb Tek set_background +FC Sf Tek set_foreground +HS mh Iris enter_dim_mode +.TE +.PP +XENIX termcap also used to have a set of extension capabilities +for forms drawing, designed to take advantage of the IBM PC +high-half graphics. +They were as follows: +.PP +.TS H +c c +l l. +Cap Graphic +_ +G2 upper left +G3 lower left +G1 upper right +G4 lower right +GR pointing right +GL pointing left +GU pointing up +GD pointing down +GH horizontal line +GV vertical line +GC intersection +G6 upper left +G7 lower left +G5 upper right +G8 lower right +Gr tee pointing right +Gr tee pointing left +Gu tee pointing up +Gd tee pointing down +Gh horizontal line +Gv vertical line +Gc intersection +GG acs magic cookie count +.TE +.PP +If the single-line capabilities occur in an entry, they will automatically +be composed into an \fBacsc\fP string. +The double-line capabilities and +\fBGG\fP are discarded with a warning message. +.PP +IBM's AIX has a terminfo facility descended from SVr1 terminfo but incompatible +with the SVr4 format. +The following AIX extensions are automatically +translated: +.PP +.TS +c c +l l. +IBM XSI +_ +ksel kslt +kbtab kcbt +font0 s0ds +font1 s1ds +font2 s2ds +font3 s3ds +.TE +.PP +Additionally, the AIX \fIbox1\fP capability will be automatically translated to +an \fBacsc\fP string. +.PP +Hewlett-Packard's terminfo library supports two nonstandard terminfo +capabilities \fBmeml\fP (memory lock) and \fBmemu\fP (memory unlock). +These will be discarded with a warning message. +.SH NOTES +This utility is actually a link to \fBtic\fP(1), running in \fI\-I\fP mode. +You can use other \fBtic\fP options such as \fB\-f\fP and \fB\-x\fP. +.PP +The verbose option is not identical to SVr4's. +Under SVr4, instead of following +the \fB\-v\fP with a trace level n, you repeat it n times. +.SH PORTABILITY +X/Open Curses, Issue 7 (2009) describes \fBtic\fP briefly, +but omits this program. +SVr4 systems provide \fBcaptoinfo\fP as a separate application from \fBtic\fP. +.PP +NetBSD does not provide this application. +.SH SEE ALSO +\fBinfocmp\fP(1), +\fBcurses\fP(3), +\fBterminfo\fP(\*n) +.PP +This describes \fBncurses\fP +version 6.4 (patch 20230826). +.SH AUTHOR +Eric S. Raymond +and +.br +Thomas E. Dickey diff --git a/static/openbsd/man1/cat.1 b/static/openbsd/man1/cat.1 new file mode 100644 index 00000000..47f37d10 --- /dev/null +++ b/static/openbsd/man1/cat.1 @@ -0,0 +1,185 @@ +.\" $OpenBSD: cat.1,v 1.37 2024/08/01 14:08:07 jmc Exp $ +.\" $NetBSD: cat.1,v 1.12 1995/09/27 05:38:55 cgd Exp $ +.\" +.\" Copyright (c) 1989, 1990, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" the Institute of Electrical and Electronics Engineers, Inc. +.\" +.\" 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. 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. +.\" +.\" @(#)cat.1 8.3 (Berkeley) 5/2/95 +.\" +.Dd $Mdocdate: August 1 2024 $ +.Dt CAT 1 +.Os +.Sh NAME +.Nm cat +.Nd concatenate and print files +.Sh SYNOPSIS +.Nm cat +.Op Fl benstuv +.Op Ar +.Sh DESCRIPTION +The +.Nm +utility reads files sequentially, writing them to the standard output. +The +.Ar file +operands are processed in command-line order. +If +.Ar file +is a single dash +.Pq Sq - +or absent, +.Nm +reads from the standard input. +.Pp +The options are as follows: +.Bl -tag -width Ds +.It Fl b +Number the lines, but don't count blank lines. +.It Fl e +Print a dollar sign +.Pq Ql \&$ +at the end of each line. +Implies the +.Fl v +option to display non-printing characters. +.It Fl n +Number the output lines, starting at 1. +.It Fl s +Squeeze multiple adjacent empty lines, causing the output to be +single spaced. +.It Fl t +Print tab characters as +.Ql ^I . +Implies the +.Fl v +option to display non-printing characters. +.It Fl u +The output is guaranteed to be unbuffered (see +.Xr setvbuf 3 ) . +.It Fl v +Displays non-printing characters so they are visible. +Control characters print as +.Ql ^X +for control-X, with the exception of the tab and EOL characters, +which are displayed normally. +The DEL character (octal 0177) prints as +.Ql ^? . +Non-ASCII characters (with the high bit set) are printed as +.Ql M- +(for meta) followed by the character for the low 7 bits. +.El +.Sh EXIT STATUS +.Ex -std cat +.Sh EXAMPLES +Print the contents of +.Ar file1 +to the standard output: +.Pp +.Dl $ cat file1 +.Pp +Sequentially print the contents of +.Ar file1 +and +.Ar file2 +to the file +.Ar file3 , +truncating +.Ar file3 +if it already exists. +See the manual page for your shell (e.g., +.Xr sh 1 ) +for more information on redirection. +.Pp +.Dl $ cat file1 file2 > file3 +.Pp +Print the contents of +.Ar file1 , +print data it receives from the standard input until it receives an +.Dv EOF +.Pq Sq ^D +character, print the contents of +.Ar file2 , +read and output contents of the standard input again, then finally output +the contents of +.Ar file3 . +Note that if the standard input referred to a file, the second dash +on the command line would have no effect, since the entire contents of the file +would have already been read and printed by +.Nm +when it encountered the first +.Ql \&- +operand. +.Pp +.Dl $ cat file1 - file2 - file3 +.Sh SEE ALSO +.Xr head 1 , +.Xr less 1 , +.Xr more 1 , +.Xr pr 1 , +.Xr sh 1 , +.Xr tail 1 , +.Xr vis 1 , +.Xr setvbuf 3 +.Rs +.%A Rob Pike +.%T "UNIX Style, or cat -v Considered Harmful" +.%J "USENIX Summer Conference Proceedings" +.%D 1983 +.Re +.Sh STANDARDS +The +.Nm +utility is compliant with the +.St -p1003.1-2024 +specification. +.Pp +The flags +.Op Fl benstv +are extensions to that specification. +.Sh HISTORY +A +.Nm +utility appeared in +.At v1 . +.Sh CAVEATS +Because of the shell language mechanism used to perform output +redirection, the following command will cause the original data in +.Ar file1 +to be destroyed: +.Pp +.Dl $ cat file1 file2 > file1 +.Pp +To append +.Ar file2 +to +.Ar file1 , +instead use: +.Pp +.Dl $ cat file2 >> file1 diff --git a/static/openbsd/man1/catme.1 b/static/openbsd/man1/catme.1 new file mode 100644 index 00000000..7ecdd9a1 --- /dev/null +++ b/static/openbsd/man1/catme.1 @@ -0,0 +1,2 @@ +1..1 +ok 1 diff --git a/static/openbsd/man1/cdio.1 b/static/openbsd/man1/cdio.1 new file mode 100644 index 00000000..1e0ad688 --- /dev/null +++ b/static/openbsd/man1/cdio.1 @@ -0,0 +1,326 @@ +.\" $OpenBSD: cdio.1,v 1.68 2022/12/22 19:53:22 kn Exp $ +.\" +.\" Copyright (c) 1995 Serge V. Vakulenko +.\" 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 Serge V. Vakulenko. +.\" 4. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. +.\" +.Dd $Mdocdate: December 22 2022 $ +.Dt CDIO 1 +.Os +.Sh NAME +.Nm cdio +.Nd compact disc control utility +.Sh SYNOPSIS +.Nm cdio +.Op Fl sv +.Op Fl d Ar host : Ns Ar port +.Op Fl f Ar device +.Op Ar command Op Ar arg ... +.Sh DESCRIPTION +The +.Nm +program is a compact disc control utility, +with support for playing audio CDs and Track-At-Once (TAO) CD writing. +.Pp +If no command is given, +.Nm +enters interactive mode, reading commands from the standard input. +.Pp +The options are as follows: +.Bl -tag -width Ds +.It Xo +.Fl d +.Ar host : Ns Ar port +.Xc +Specifies a CDDB host +.Bq default: gnudb.gnudb.org:8880 . +.It Fl f Ar device +Specifies the name of the CD device, such as +.Pa /dev/rcd0c . +Both absolute and relative paths to +.Pa /dev +filenames are possible; +the raw partition name is added if needed. +.It Fl s +Silent mode. +Do not print table headers or human-readable comments. +.It Fl v +Verbose mode. +A second occurrence of +.Fl v +causes even more information to be printed. +.El +.Pp +The available commands are listed below. +Only as many characters as are required to uniquely identify a command +need be specified. +If no command is given, +only a track number or range, +then +.Ic play +is assumed. +.Bl -tag -width Ds +.It Ic blank +Minimally blank the disc. +.It Ic cddbinfo Op Ar n +Print the Table Of Contents (TOC) after matching the disc with the CDDB. +In case of multiple matches, reissue the command with +.Ar n . +.It Ic cdid +Print the disc ID that will be used for matching with the CDDB. +.It Ic cdplay Op Ar track1-trackN ... +Play specified tracks from disk. +Unlike +.Ic play , +the CD player need not be connected to an audio device; +instead it rips tracks from disk and outputs audio data to +the default audio device. +Both individual tracks and track ranges may be specified. +If range is specified in descending order, tracks will be played in descending order. +If the first value in the range is omitted, tracks from first track on disk to the specified one will be played. +If the last value in the range is omitted, tracks from the specified track to the last track on disk will be played. +.It Ic cdrip Op Ar track1-trackN ... +Rip specified tracks from disk. +Audio tracks are saved as WAVE sound files. +All tracks will be saved in the current working directory. +If parameters are omitted, all tracks are ripped. +Both individual tracks and track ranges may be specified, in the same format as the +.Ic cdplay +command. +.It Ic close +Inject the disc. +.It Ic debug Ar on | off +Enable/disable the debugging mode of the CD device driver. +.It Ic device Ar devname +Make +.Ar devname +the current CD device. +This is the equivalent of quitting +.Nm +and restarting with a different device. +.It Ic eject +Eject the disc. +.It Ic exit +A synonym for +.Ic quit . +.It Ic help +Print the list of available commands. +.It Ic info +Print the Table Of Contents (TOC). +If +.Fl v +is also specified, +the current features and current profile is printed. +If +.Fl v +is specified twice, +the complete list of supported profiles +and a hex dump of each current feature is printed. +.It Ic next +Play the next track. +If we're at the last track, stop. +.It Ic pause +Stop playing. +Do not stop the disc. +.It Xo Ic play +.Oo +.Ar track1 Ns Op Ar .index1 +.Op Ar track2 Ns Op Ar .index2 +.Oc +.Xc +Play from +.Ar track1 +to +.Ar track2 ; +an optional index point can be specified for each track. +If only one track is specified, play from that track to the end of the disc. +If no tracks are specified, play the whole disc. +.It Xo Ic play +.Oo +.Op Ar tr1 +.Ar m1 : Ns Ar s1 Ns Oo +.Ar .f1 Oc +.Op Ar tr2 +.Oo Ar m2 : Ns Ar s2 Ns +.Op Ar .f2 +.Oc Oc +.Xc +Play from the absolute address +(MSF) defined by +.Ar m1 +in minutes, +.Ar s1 +in seconds, +frame number +.Ar f1 , +to the absolute address defined by +.Ar m2 +in minutes, +.Ar s2 +in seconds, +frame number +.Ar f2 . +If a track number is specified +.Pq tr Ns Ar X , +then the minutes, seconds, and frame numbers +are relative to the start of that track. +Minutes are in the range 0\(en99. +Seconds are in the range 0\(en59. +Frame numbers are in the range 0\(en74. +.It Ic play Op Ar #block Op Ar len +Play starting from the logical +.Ar block +using +.Ar len +logical blocks. +.It Ic previous +Play the previous track. +If we're at the first track, restart. +.It Ic quit +Quit the program. +.It Ic replay +Replay the current track. +.It Ic reset +Perform a hardware reset of the device. +.It Ic resume +Resume playing. +Used after the +.Ic pause +command. +.It Ic set Ar lba | msf +Set LBA +.Pq Ar lba +or minute-second-frame +.Pq Ar msf +ioctl mode. +The default is minute-second-frame ioctl mode. +.It Ic status +Print information about the disc: +the current playing status and position, +the current media catalog status, +and the current values of the volume for left and right channels. +.It Ic stop +Stop the disc. +.It Xo Ic tao +.Op Fl ad +.Op Fl s Ar speed +.Ar trackfile ... +.Xc +.Bq command line only +\ \&Write a TAO CD containing the specified +.Ar trackfile . +.Pp +The options are as follows: +.Pp +.Bl -tag -width Ds -compact +.It Fl a +Write files as audio tracks. +File formats of audio tracks may be CDDA or WAVE +with 2 channels of PCM audio, +signed 16-bit (little endian) values sampled at 44100 Hz. +.It Fl d +Write files as data tracks (the default). +.It Fl s Ar speed +Specify a write speed for tracks. +.Ar speed +may be a numerical value between 1 and +the maximum speed supported by the media and drive, +or one of the literal strings +.Dq auto +or +.Dq max , +meaning the optimal or maximum speed detected. +The default speed is +.Dq auto . +.El +.It Ic volume Ar left_channel Ar right_channel +Set the volume of the left channel to +.Ar left_channel +and the volume of the right channel to +.Ar right_channel . +Allowed values are in the range 0\(en255. +.It Xo Ic volume +.Ic left | right | mono | stereo | mute +.Xc +Respectively: +play the left subtrack on both left and right channels; +play the right subtrack on both left and right channels; +set mono mode; +set stereo mode; +turn the sound off. +.El +.Sh ENVIRONMENT +.Bl -tag -width "AUDIODEVICEXXX" +.It Ev DISC , CDROM +Specifies the name of the CD device to use. +If both +.Ev DISC +and +.Ev CDROM +are set, +.Ev DISC +takes precedence. +If neither +.Ev DISC +nor +.Ev CDROM +are set, +the default is +.Pa cd0 . +See also the +.Fl f +option, above. +.It Ev AUDIODEVICE +Name of the +.Xr aucat 1 +socket to connect to, or path to the +.Xr audio 4 +device to use. +.El +.Sh FILES +.Bl -tag -width /dev/rcd0c -compact +.It Pa /dev/rcd0c +.El +.Sh SEE ALSO +.Xr aucat 1 , +.Xr audio 4 , +.Xr audioctl 8 , +.Xr mixerctl 8 +.Sh HISTORY +The +.Nm +command is based on +.Nm cdcontrol , +which first appeared in +.Fx 2.1 . +.Sh AUTHORS +.An -nosplit +.An Jean-Marc Zucconi , +.An Andrey A. Chernov , +.An Serge V. Vakulenko , +.An Marc Espie diff --git a/static/openbsd/man1/chflags.1 b/static/openbsd/man1/chflags.1 new file mode 100644 index 00000000..1046154f --- /dev/null +++ b/static/openbsd/man1/chflags.1 @@ -0,0 +1,184 @@ +.\" $OpenBSD: chflags.1,v 1.19 2019/09/02 21:18:41 deraadt Exp $ +.\" $NetBSD: chflags.1,v 1.4 1995/08/31 22:50:22 jtc Exp $ +.\" +.\" Copyright (c) 1989, 1990, 1993, 1994 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" the Institute of Electrical and Electronics Engineers, Inc. +.\" +.\" 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. 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. +.\" +.\" @(#)chflags.1 8.4 (Berkeley) 5/2/95 +.\" +.Dd $Mdocdate: September 2 2019 $ +.Dt CHFLAGS 1 +.Os +.Sh NAME +.Nm chflags +.Nd change file flags +.Sh SYNOPSIS +.Nm chflags +.Op Fl h +.Oo +.Fl R +.Op Fl H | L | P +.Oc +.Ar flags +.Ar +.Sh DESCRIPTION +The +.Nm +utility modifies the file flags of the listed files +as specified by the +.Ar flags +operand. +The +.Ar flags +of a file dictate special restrictions beyond those enforced by its +mode/permissions. +Only the superuser can change the user flags on block and +character devices. +.Pp +You can use +.Sy ls Fl lo +to see the flags of existing files. +.Pp +The options are as follows: +.Bl -tag -width Ds +.It Fl H +If the +.Fl R +option is also specified, symbolic links on the command line are followed. +Symbolic links encountered in the tree traversal are not followed. +.It Fl h +Treat symbolic links like other files: modify links instead of +following them. +The +.Fl h +and +.Fl R +options are mutually exclusive. +.It Fl L +If the +.Fl R +option is also specified, all symbolic links are followed. +.It Fl P +If the +.Fl R +option is also specified, no symbolic links are followed. +.It Fl R +Recurse. +Where +.Ar file +is a directory, +change the flags of the directory and all the files and directories +in the file hierarchy below it. +.El +.Pp +Flags are a comma separated list of keywords. +The following keywords are currently defined: +.Pp +.Bl -tag -width "nodump" -compact -offset indent +.It Cm arch +set the archived flag (superuser only) +.It Cm nodump +set the nodump flag (owner or superuser only) +.It Cm sappnd +set the system append-only flag (superuser only) +.It Cm schg +set the system immutable flag (superuser only) +.It Cm uappnd +set the user append-only flag (owner or superuser only) +.It Cm uchg +set the user immutable flag (owner or superuser only) +.El +.Pp +The +.Cm arch +flag is for compatibility only, +and currently has no effect. +.Pp +A file with the +.Cm nodump +flag set will by default only be backed up by +.Xr dump 8 +during full backups. +The +.Fl h +option of +.Xr dump 8 +can be used to alter this. +.Pp +An immutable file may not be changed, moved, or deleted. +An append-only file is immutable except that data may be appended to it. +.Pp +The +superuser-settable +.Cm sappnd +and +.Cm schg +flags can be set at any time, but may only be cleared when the system is +running at security level 0 or \-1 +(insecure or permanently insecure mode, respectively). +For more information on setting the system security level, +see +.Xr securelevel 7 . +.Pp +Putting the letters +.Cm no +before a flag name causes the flag to be turned off. +For example: +.Pp +.Bl -tag -width "nouchg" -compact -offset indent +.It Cm nouchg +the immutable bit should be cleared +.El +.Pp +The +.Fl H , +.Fl L , +and +.Fl P +options are ignored unless the +.Fl R +option is specified. +In addition, these options override each other and the +command's actions are determined by the last one specified. +.Sh EXIT STATUS +.Ex -std chflags +.Sh SEE ALSO +.Xr ls 1 , +.Xr chflags 2 , +.Xr stat 2 , +.Xr fts_open 3 , +.Xr securelevel 7 , +.Xr symlink 7 , +.Xr dump 8 +.Sh HISTORY +The +.Nm +command first appeared in +.Bx 4.4 . diff --git a/static/openbsd/man1/chgrp.1 b/static/openbsd/man1/chgrp.1 new file mode 100644 index 00000000..05eda115 --- /dev/null +++ b/static/openbsd/man1/chgrp.1 @@ -0,0 +1,135 @@ +.\" $OpenBSD: chgrp.1,v 1.20 2025/04/29 17:44:00 jmc Exp $ +.\" +.\" Copyright (c) 1983, 1990, 1993, 1994 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" the Institute of Electrical and Electronics Engineers, Inc. +.\" +.\" 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. 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. +.\" +.\" from: @(#)chgrp.1 8.3 (Berkeley) 3/31/94 +.\" +.Dd $Mdocdate: April 29 2025 $ +.Dt CHGRP 1 +.Os +.Sh NAME +.Nm chgrp +.Nd change group +.Sh SYNOPSIS +.Nm chgrp +.Op Fl h +.Oo +.Fl R +.Op Fl H | L | P +.Oc +.Ar group +.Ar +.Sh DESCRIPTION +.Nm +sets the group ID of the specified files. +.Pp +The options are as follows: +.Bl -tag -width Ds +.It Fl H +If the +.Fl R +option is specified, symbolic links on the command line are followed. +Symbolic links encountered in the tree traversal are not followed. +.It Fl h +Treat symbolic links like other files: modify links instead of +following them. +The +.Fl h +and +.Fl R +options are mutually exclusive. +.It Fl L +If the +.Fl R +option is specified, all symbolic links are followed. +.It Fl P +If the +.Fl R +option is specified, no symbolic links are followed. +.It Fl R +Recurse. +Where +.Ar file +is a directory, +change the group ID of the directory and all the files and directories +in the file hierarchy below it. +.El +.Pp +The +.Fl H , +.Fl L , +and +.Fl P +options are ignored unless the +.Fl R +option is specified; +if none of them are given, +the default is to not follow symbolic links. +In addition, these options override each other and the +command's actions are determined by the last one specified. +.Pp +The +.Ar group +operand can be either a group name from the group database, +or a numeric group ID. +If a group name is also a numeric group ID, the operand is used as a +group name. +.Pp +By default, +.Nm +clears the set-user-ID and set-group-ID bits on the file +to prevent accidental or mischievous creation of +set-user-ID and set-group-ID programs. +.Pp +The user invoking +.Nm +must belong to the specified group and be the owner of the file, +or be the superuser. +.Sh FILES +.Bl -tag -width /etc/group -compact +.It Pa /etc/group +group ID file +.El +.Sh EXIT STATUS +.Ex -std chgrp +.Sh SEE ALSO +.Xr chown 2 , +.Xr fts_open 3 , +.Xr group 5 , +.Xr passwd 5 , +.Xr symlink 7 , +.Xr chown 8 +.Sh STANDARDS +The +.Nm +utility is compliant with the +.St -p1003.1-2024 +specification. diff --git a/static/openbsd/man1/chio.1 b/static/openbsd/man1/chio.1 new file mode 100644 index 00000000..eda13853 --- /dev/null +++ b/static/openbsd/man1/chio.1 @@ -0,0 +1,253 @@ +.\" $OpenBSD: chio.1,v 1.36 2022/02/18 02:07:15 jsg Exp $ +.\" $NetBSD: chio.1,v 1.1.1.1 1996/04/03 00:34:38 thorpej Exp $ +.\" +.\" Copyright (c) 1996 Jason R. Thorpe +.\" 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 acknowledgments: +.\" This product includes software developed by Jason R. Thorpe +.\" for And Communications, http://www.and.com/ +.\" 4. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. +.\" +.Dd $Mdocdate: February 18 2022 $ +.Dt CHIO 1 +.Os +.Sh NAME +.Nm chio +.Nd medium changer control utility +.Sh SYNOPSIS +.Nm chio +.Op Fl f Ar changer +.Ar command +.Op Ar arg ... +.Sh DESCRIPTION +The +.Nm +utility is used to control the operation of medium changers, such as those +found in tape and optical disk jukeboxes. +.Pp +The options are as follows: +.Bl -tag -width 10n +.It Fl f Ar changer +Use the device +.Ar changer +rather than the default device +.Pa /dev/ch0 . +.El +.Pp +A medium changer apparatus is made up of +.Em elements . +There are five element types: +.Em picker +(medium transport), +.Em slot +(storage), +.Em portal +(import/export), +.Em drive +(data transfer), and +.Em voltag +(select by volume identifier). +The +.Em voltag +pseudo-element type allows the selection of tapes by their volume code, +which is typically a barcode on the tape. +In this command description, the shorthand +.Sq ET +will be used to represent an element type, and +.Sq EU +will be used to represent an element unit. +For example, to represent +the first robotic arm in the changer, the ET would be +.Dq picker +and the EU would be +.Dq 0 . +.Pp +The following commands are supported: +.Bl -tag -width Ds +.It Xo +.Cm exchange +.Ar src-ET src-EU dst1-ET dst1-EU +.Op Ar dst2-ET dst2-EU +.Op Cm inv1 +.Op Cm inv2 +.Xc +Performs a media unit exchange operation. +The media unit in +.Ar src-ET Ns / Ns Ar src-EU +is moved to +.Ar dst1-ET Ns / Ns Ar dst1-EU +and the media unit previously in +.Ar dst1-ET Ns / Ns Ar dst1-EU +is moved to +.Ar dst2-ET Ns / Ns Ar dst2-EU . +In the case of a simple exchange, +.Ar dst2-ET Ns / Ns Ar dst2-EU +is omitted and the values +.Ar src-ET Ns / Ns Ar src-EU +are used in their place. +The optional modifiers +.Cm inv1 +and +.Cm inv2 +specify whether the media units are to be inverted before insertion into +.Ar dst1-ET Ns / Ns Ar dst2-EU +and +.Ar dst2-ET Ns / Ns Ar dst2-EU +respectively. +.Pp +Note that not all medium changers support the +.Cm exchange +operation; the changer must have multiple free pickers or emulate +multiple free pickers with transient storage. +.It Cm getpicker +Report which picker unit the changer is currently configured to use. +.It Xo +.Cm move +.Ar from-ET from-EU to-ET to-EU +.Op Cm inv +.Xc +Moves the media unit from +.Ar from-ET Ns / Ns Ar from-EU +to +.Ar to-ET Ns / Ns Ar to-EU . +If the optional modifier +.Cm inv +is specified, the media unit will be inverted before insertion. +If +.Ar from-ET +is a drive, +.Nm +will first attempt to open and perform an +.Dv MTOFFL +operation on the +.Xr st 4 +device corresponding to +.Ar from-EU . +By default, the +.Xr st 4 +device +.No /dev/rst Ns Ar X +is used, where +.Ar X +is the +.Ar from-EU . +This mapping can be changed by using the +.Xr chio.conf 5 +file. +.It Cm params +Report the number of slots, drives, pickers, and portals in the changer, +and which picker unit the changer is currently configured to use. +.It Cm position Ar to-ET to-EU Op Cm inv +Position the picker in front of the element described by +.Ar to-ET Ns / Ns Ar to-EU . +If the optional modifier +.Cm inv +is specified, the media unit will be inverted before insertion. +.Pp +Note that not all changers behave as expected in response to this command. +.It Cm setpicker Ar unit +Configure the changer to use picker +.Ar unit . +.It Cm status +.Op Fl vVa +.Op Ar ET +Report the status of all elements in the changer. +If +.Ar ET +is specified, report the status of all elements of type +.Ar ET . +.Bl -tag -width Ds +.It Fl v +Print the primary volume tag for each loaded medium, if any. +The volume +tag is printed as +.Dq \*(LtLABEL:SERIAL\*(Gt . +.It Fl V +Print the alternate volume tag for each loaded medium, if any. +.It Fl a +Print all additional information (as in +.Fl vV ) . +.El +.Pp +The status bits output are defined as follows: +.Bl -tag -width indent +.It Dv FULL +Element contains a media unit. +.It Dv IMPEXP +Media was deposited into element by an outside human operator. +.It Dv EXCEPT +Element is in an abnormal state. +.It Dv ACCESS +Media in this element is accessible by a picker. +.It Dv EXENAB +Element supports passing media (exporting) to an outside human operator. +.It Dv INENAB +Element supports receiving media (importing) from an outside human operator. +.El +.El +.Sh ENVIRONMENT +.Bl -tag -width CHANGER +.It Ev CHANGER +The default changer may be overridden by setting this environmental +variable to the desired changer device. +.El +.Sh FILES +.Bl -tag -width "/etc/chio.confXX" +.It Pa /dev/ch0 +Default changer device. +.It Pa /etc/chio.conf +Optional configuration file to set up a non-default mapping between +.Xr st 4 +devices and changer drives. +.El +.Sh EXAMPLES +Move the media in slot 3 (fourth slot) to drive 0 (first drive): +.Pp +.Dl # chio move slot 3 drive 0 +.Pp +Move the media with volume tag 000007L2 to drive 1 (second drive): +.Pp +.Dl # chio move voltag 00007L2 drive 1 +.Pp +Configure the changer to use picker 2 (third picker) for operations: +.Pp +.Dl # chio setpicker 2 +.Sh SEE ALSO +.Xr mt 1 , +.Xr ch 4 , +.Xr st 4 , +.Xr chio.conf 5 +.Sh HISTORY +A +.Nm +utility appeared in +.Nx 1.3 . +.Sh AUTHORS +The +.Nm +program and SCSI changer driver were written by +.An Jason R. Thorpe +for And Communications. diff --git a/static/openbsd/man1/chmod.1 b/static/openbsd/man1/chmod.1 new file mode 100644 index 00000000..077b5679 --- /dev/null +++ b/static/openbsd/man1/chmod.1 @@ -0,0 +1,388 @@ +.\" $OpenBSD: chmod.1,v 1.44 2024/08/01 14:30:17 jmc Exp $ +.\" $NetBSD: chmod.1,v 1.8 1995/03/21 09:02:07 cgd Exp $ +.\" +.\" Copyright (c) 1989, 1990, 1993, 1994 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" the Institute of Electrical and Electronics Engineers, Inc. +.\" +.\" 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. 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. +.\" +.\" @(#)chmod.1 8.4 (Berkeley) 3/31/94 +.\" +.Dd $Mdocdate: August 1 2024 $ +.Dt CHMOD 1 +.Os +.Sh NAME +.Nm chmod +.Nd change file modes +.Sh SYNOPSIS +.Nm chmod +.Op Fl h +.Oo +.Fl R +.Op Fl H | L | P +.Oc +.Ar mode +.Ar +.Sh DESCRIPTION +The +.Nm +utility modifies the file mode bits of the listed files +as specified by the +.Ar mode +operand. +The mode of a file dictates its permissions, among other attributes. +.Pp +The options are as follows: +.Bl -tag -width Ds +.It Fl H +If the +.Fl R +option is also specified, symbolic links on the command line are followed. +Symbolic links encountered in the tree traversal are not followed. +.It Fl h +Treat symbolic links like other files: modify links instead of +following them. +The +.Fl h +and +.Fl R +options are mutually exclusive. +.It Fl L +If the +.Fl R +option is also specified, all symbolic links are followed. +.It Fl P +If the +.Fl R +option is also specified, no symbolic links are followed. +.It Fl R +Recurse. +Where +.Ar file +is a directory, +change the mode of the directory and all the files and directories +in the file hierarchy below it. +.El +.Pp +Symbolic links have modes, +but those modes have no effect on the kernel's access checks. +The +.Fl H , +.Fl L , +and +.Fl P +options are ignored unless the +.Fl R +option is specified; +if none of them are given, +the default is to not follow symbolic links. +In addition, these options override each other and the +command's actions are determined by the last one specified. +.Pp +Only the file's owner or the superuser is permitted to change +the mode of a file. +.Ss Absolute modes +Absolute modes are specified according to the following format: +.Bd -filled -offset indent +.Nm chmod +.Ar nnnn +.Ar +.Ed +.Pp +An absolute mode is an octal number (specified as +.Ar nnnn , +where +.Ar n +is a number from 0 to 7) constructed by ORing +any of the following values: +.Pp +.Bl -tag -width 6n -compact -offset indent +.It Li 0400 +Allow read by owner. +.It Li 0200 +Allow write by owner. +.It Li 0100 +Allow execution (or search in directories) by owner. +.It Li 0700 +Allow read, write, and execute/search by owner. +.It Li 0040 +Allow read by group. +.It Li 0020 +Allow write by group. +.It Li 0010 +Allow execution (or search in directories) by group. +.It Li 0070 +Allow read, write, and execute/search by group. +.It Li 0004 +Allow read by others. +.It Li 0002 +Allow write by others. +.It Li 0001 +Allow execution (or search in directories) by others. +.It Li 0007 +Allow read, write, and execute/search by others. +.El +.Pp +In addition to the file permission modes, the following mode bits are +available: +.Pp +.Bl -tag -width 6n -compact -offset indent +.It Li 4000 +Set-user-ID on execution. +.It Li 2000 +Set-group-ID on execution. +.It Li 1000 +Enable sticky bit; see +.Xr sticky 8 +and +.Xr chmod 2 . +.El +.Pp +The execute bit for a directory is often referred to as the +.Dq search +bit. +In order to access a file, a user must have execute permission in each +directory leading up to it in the filesystem hierarchy. +For example, to access the file +.Pa /bin/ls , +execute permission is needed on +.Pa / , +.Pa /bin , +and, of course, the +.Pa ls +binary itself. +.Ss Symbolic modes +Symbolic modes are specified according to the following format: +.Bd -filled -offset indent +.Nm chmod +.Sm off +.Op Ar who +.Ar op +.Oo Ar perm Oc , Ar ... +.Sm on +.Ar +.Ed +.Pp +The +.Ar who +symbols indicate whose permissions are to be changed or assigned: +.Pp +.Bl -tag -width 4n -compact -offset indent +.It u +User (owner) permissions. +.It g +Group permissions. +.It o +Others permissions. +.It a +All of the above. +.El +.Pp +Do not confuse the +.Sq o +symbol with +.Dq owner . +It is the user bit, +.Sq u , +that refers to the owner of the file. +.Pp +The +.Ar op +symbols represent the operation performed, as follows: +.Bl -tag -width 4n -offset indent +.It + +If no value is supplied for +.Ar perm , +the +.Sq + +operation has no effect. +If no value is supplied for +.Ar who , +each permission bit specified in +.Ar perm , +for which the corresponding bit in the file mode creation mask +is clear, is set. +Otherwise, the mode bits represented by the specified +.Ar who +and +.Ar perm +values are set. +.It \&\- +If no value is supplied for +.Ar perm , +the +.Sq \- +operation has no effect. +If no value is supplied for +.Ar who , +each permission bit specified in +.Ar perm , +for which the corresponding bit in the file mode creation mask +is clear, is cleared. +Otherwise, the mode bits represented by the specified +.Ar who +and +.Ar perm +values are cleared. +.It = +The mode bits specified by the +.Ar who +value are cleared or, if no +.Ar who +value is specified, the user, group +and other mode bits are cleared. +Then, if no value is supplied for +.Ar who , +each permission bit specified in +.Ar perm , +for which the corresponding bit in the file mode creation mask +is clear, is set. +Otherwise, the mode bits represented by the specified +.Ar who +and +.Ar perm +values are set. +.El +.Pp +The +.Ar perm +(permission symbols) represent the portions of the mode bits as follows: +.Pp +.Bl -tag -width Ds -compact -offset indent +.It r +Read bits. +.It s +Set-user-ID and set-group-ID on execution bits. +.It t +Sticky bit. +.It w +Write bits. +.It x +Execute/search bits. +.It X +The execute/search bits if the file is a directory or any of the +execute/search bits are set in the original (unmodified) mode. +.It u +User permission bits in the mode of the original file. +.It g +Group permission bits in the mode of the original file. +.It o +Other permission bits in the mode of the original file. +.El +.Pp +Each clause (given in a comma-delimited list on the command line) specifies +one or more operations to be performed on the mode bits, and each operation is +applied in the order specified. +.Pp +Operations upon the +.Dq other +permissions (specified by the symbol +.Sq o +by itself), in combination with the +.Ar perm +symbols +.Sq s +or +.Sq t , +are ignored. +.Sh EXIT STATUS +.Ex -std chmod +.Sh EXAMPLES +Set file readable by anyone and writable by the owner only: +.Pp +.Dl $ chmod 644 file +.Pp +Deny write permission to group and others: +.Pp +.Dl $ chmod go-w file +.Pp +Set the read and write permissions to the usual defaults, but +retain any execute permissions that are currently set: +.Pp +.Dl $ chmod =rwX file +.Pp +Make a directory or file searchable/executable by everyone if it is +already searchable/executable by anyone: +.Pp +.Dl $ chmod +X file +.Pp +Any of these commands will make a file readable/executable by everyone and +writable by the owner only: +.Bd -literal -offset indent +$ chmod 755 file +$ chmod u=rwx,go=rx file +$ chmod u=rwx,go=u-w file +.Ed +.Pp +Clear all mode bits for group and others: +.Pp +.Dl $ chmod go= file +.Pp +Set the group bits equal to the user bits, but clear the group write bit: +.Pp +.Dl $ chmod g=u-w file +.Sh SEE ALSO +.Xr chflags 1 , +.Xr chgrp 1 , +.Xr find 1 , +.Xr install 1 , +.Xr chmod 2 , +.Xr stat 2 , +.Xr umask 2 , +.Xr fts_open 3 , +.Xr setmode 3 , +.Xr symlink 7 , +.Xr chown 8 , +.Xr sticky 8 +.Sh STANDARDS +The +.Nm +utility is compliant with the +.St -p1003.1-2024 +specification. +.Pp +The flags +.Op Fl HhLP +are extensions to that specification. +.Pp +The +.Sq t +perm symbol (sticky bit) is marked by +.St -p1003.1-2024 +as being an +X/Open System Interfaces +option. +.Sh HISTORY +A +.Nm +command appeared in +.At v1 . +.Sh BUGS +There's no +.Ar perm +option for the naughty bits. diff --git a/static/openbsd/man1/chpass.1 b/static/openbsd/man1/chpass.1 new file mode 100644 index 00000000..b18a07aa --- /dev/null +++ b/static/openbsd/man1/chpass.1 @@ -0,0 +1,279 @@ +.\" $OpenBSD: chpass.1,v 1.43 2022/03/31 17:27:24 naddy Exp $ +.\" $NetBSD: chpass.1,v 1.7 1996/05/15 21:50:40 jtc Exp $ +.\" +.\" Copyright (c) 1988, 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. 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. +.\" +.\" @(#)chpass.1 8.2 (Berkeley) 12/30/93 +.\" +.Dd $Mdocdate: March 31 2022 $ +.Dt CHPASS 1 +.Os +.Sh NAME +.Nm chpass , +.Nm chfn , +.Nm chsh +.Nd add or change user database information +.Sh SYNOPSIS +.Nm chpass +.Op Fl s Ar newshell +.Op Ar user +.Nm chpass +.Fl a Ar list +.Sh DESCRIPTION +.Nm chpass +allows editing of the user database information associated +with +.Ar user , +or, by default, the current user. +The information is formatted and supplied to an editor for changes. +.Pp +Only the information that the user is allowed to change is displayed. +.Pp +.Nm chfn +and +.Nm chsh +are synonyms for +.Nm chpass . +.Pp +The options are as follows: +.Bl -tag -width Ds +.It Fl a Ar list +The superuser is allowed to directly supply a user database +entry, in the format specified by +.Xr passwd 5 , +as an argument. +This argument must be a colon +.Pq Sq \&: +separated list of all the +user database fields, although they may be empty. +.It Fl s Ar newshell +Attempts to change the user's shell to +.Ar newshell . +.El +.Pp +Possible display items are as follows: +.Pp +.Bl -tag -width "Office Location:" -compact -offset indent +.It Login: +user's login name +.It Password: +user's encrypted password +.It Uid: +user's login +.It Gid: +user's login group +.It Change: +password change time +.It Expire: +account expiration time +.It Class: +user's general classification +.It Home Directory: +user's home directory +.It Shell: +user's login shell +.It Full Name: +user's real name +.It Office Location: +user's office location +.It Office Phone: +user's office phone +.It Home Phone: +user's home phone +.El +.Pp +The +.Ar login +field is the user name used to access the computer account. +.Pp +The +.Ar password +field contains the encrypted form of the user's password. +.Pp +The +.Ar uid +field is the number associated with the +.Ar login +field. +Both of these fields should be unique across the system (and often +across a group of systems) as they control file access. +.Pp +While it is possible to have multiple entries with identical login names +and/or identical user IDs, it is usually a mistake to do so. +Routines that manipulate these files will often return only one of the multiple +entries, and that one by random selection. +.Pp +The +.Ar group +field is the group that the user will be placed in at login. +Since +.Bx +supports multiple groups (see +.Xr groups 1 ) , +this field currently has little special meaning. +This field may be filled in with either a number or a group name (see +.Xr group 5 ) . +.Pp +The +.Ar change +field is the date by which the password must be changed. +.Pp +The +.Ar expire +field is the date on which the account expires. +.Pp +Both the +.Ar change +and +.Ar expire +fields should be entered in the form +.Ar month day year +where +.Ar month +is the month name (the first three characters are sufficient), +.Ar day +is the day of the month, and +.Ar year +is the year. +.Pp +The +.Ar class +field specifies a key in the +.Xr login.conf 5 +database of login class attributes. +If empty, the +.Dq default +record is used. +.Pp +The user's +.Ar home directory +is the full +.Ux +path name where the user will be placed at login. +.Pp +The +.Ar shell +field is the command interpreter the user prefers. +If the +.Ar shell +field is empty, the Bourne shell +.Pq Pa /bin/sh +is assumed. +When altering a login shell, and not the superuser, the user +may not change from a non-standard shell or to a non-standard +shell. +Non-standard is defined as a shell not found in +.Pa /etc/shells . +.Pp +The last four fields are for storing the user's +.Ar full name , office location , +and +.Ar work +and +.Ar home telephone +numbers. +.Pp +Once the information has been verified, +.Nm +uses +.Xr pwd_mkdb 8 +to update the user database. +.Sh ENVIRONMENT +The +.Xr vi 1 +editor will be used unless the environment variable +.Ev EDITOR +is set to +an alternate editor. +When the editor terminates, the information is re-read and used to +update the user database itself. +Only the user, or the superuser, may edit the information associated +with the user. +.Sh FILES +.Bl -tag -width /var/tmp/pw.XXXXXXXXXX -compact +.It Pa /etc/master.passwd +user database +.It Pa /etc/passwd +user database, with confidential information removed +.It Pa /etc/ptmp +lock file for the passwd database +.It Pa /etc/shells +list of approved shells +.It Pa /var/tmp/pw.XXXXXXXXXX +temporary copy of the user passwd information +.El +.Sh DIAGNOSTICS +.Bl -diag +.It "Attempting to lock password file, please wait or press ^C to abort" +.Pp +The password file is currently locked by another process; +.Nm +will keep trying to lock the password file until it succeeds or +the user hits the interrupt character (control-C by default). +If +.Nm +is interrupted while trying to gain the lock, any changes made will be lost. +.Pp +If the process holding the lock was prematurely terminated, the lock +file may be stale and +.Nm +will wait forever trying to lock the password file. +To determine whether a live process is actually holding the lock, the +admin may run the following: +.Bd -literal -offset indent +$ fstat /etc/ptmp +.Ed +.Pp +If no process is listed, it is safe to remove the +.Pa /etc/ptmp +file to clear the error. +.El +.Sh SEE ALSO +.Xr finger 1 , +.Xr login 1 , +.Xr passwd 1 , +.Xr getusershell 3 , +.Xr login.conf 5 , +.Xr passwd 5 , +.Xr pwd_mkdb 8 , +.Xr vipw 8 +.Rs +.%A Robert Morris +.%A Ken Thompson +.%T Password security: a case history +.%J Communications of the ACM +.%V Volume 22 +.%N Issue 11 +.%D Nov. 1979 +.%P pp. 594\(en597 +.Re +.Sh HISTORY +The +.Nm +command appeared in +.Bx 4.3 Reno . diff --git a/static/openbsd/man1/ci.1 b/static/openbsd/man1/ci.1 new file mode 100644 index 00000000..1a678433 --- /dev/null +++ b/static/openbsd/man1/ci.1 @@ -0,0 +1,202 @@ +.\" $OpenBSD: ci.1,v 1.38 2013/08/12 14:19:53 jmc Exp $ +.\" +.\" Copyright (c) 2005 Niall O'Higgins +.\" All rights reserved. +.\" +.\" Permission to use, copy, modify, and distribute this software for any +.\" purpose with or without fee is hereby granted, provided that the above +.\" copyright notice and this permission notice appear in all copies. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +.Dd $Mdocdate: August 12 2013 $ +.Dt CI 1 +.Os +.Sh NAME +.Nm ci +.Nd check in RCS revisions +.Sh SYNOPSIS +.Nm +.Bk -words +.Op Fl qV +.Op Fl d Ns Op Ar date +.Op Fl f Ns Op Ar rev +.Op Fl I Ns Op Ar rev +.Op Fl i Ns Op Ar rev +.Op Fl j Ns Op Ar rev +.Op Fl k Ns Op Ar rev +.Op Fl l Ns Op Ar rev +.Op Fl M Ns Op Ar rev +.Op Fl m Ns Ar msg +.Op Fl N Ns Ar symbol +.Op Fl n Ns Ar symbol +.Op Fl r Ns Op Ar rev +.Op Fl s Ns Ar state +.Op Fl t Ns Op Ar str +.Op Fl u Ns Op Ar rev +.Op Fl w Ns Ar username +.Op Fl x Ns Ar suffixes +.Op Fl z Ns Ar tz +.Ar +.Ek +.Sh DESCRIPTION +The +.Nm +program is used to check in new revisions to RCS files. +.Pp +When a file is checked in, +it is stored in the RCS directory with a specific revision number, +and the original file itself is deleted. +The RCS file is stored with the same name, but with +.Sq ,v +appended. +.Nm +will prompt for a check-in message, +to be stored with the file, +which can be displayed using +.Xr rlog 1 . +.Pp +Revision numbering starts at 1.1 +and increases logically. +Numbering can be altered using the +.Fl k +option, however. +The +.Sq ,v +suffix can also be altered, +using the +.Fl x +option. +.Pp +.Nm +also supports +keyword substitution \(en +see the +.Xr rcs 1 +man page for more information. +.Pp +The following options are supported: +.Bl -tag -width Ds +.It Fl d Ns Op Ar date +Uses +.Ar date +for check-in date and time. +If +.Ar date +is not specified, use the working file's last modification time. +.It Fl f Ns Op Ar rev +Force check-in +\(en even if no changes have been made to the working file. +.It Fl I Ns Op Ar rev +Interactive mode. +.It Fl i Ns Op Ar rev +Only do initial check-in. +Print error and refuse to do check-in if the RCS file already exists. +.It Fl j Ns Op Ar rev +Only do update check-in. +Print error and refuse to do check-in if the RCS file does not already exist. +.It Fl k Ns Op Ar rev +Search the working file for keywords and set the revision number, +creation date, state and author to the values found in these keywords +instead of computing them. +.It Fl l Ns Op Ar rev +The same as +.Fl r , +but also immediately checks out the deposited revision and locks it. +This is useful if you wish to continue to edit the working file after check-in. +.It Fl M Ns Op Ar rev +Set the modification time of the file to the date of the +retrieved revision. +.It Fl m Ns Ar msg +Specify a log message. +A line beginning with a hash character +.Pq Sq # +is considered a comment and ignored. +.It Fl N Ns Ar symbol +Assign the symbolic name +.Ar symbol +to the checked in revision, overwriting any previous assignment of +.Ar symbol . +.It Fl n Ns Ar symbol +The same as +.Fl N +except it does not overwrite previous symbols. +.It Fl q +Be quiet about reporting. +.It Fl r Ns Op Ar rev +Check in revision +.Ar rev . +However, if +.Ar rev +is not specified the meaning is completely different \(en override any +.Fl l +or +.Fl u +options, ensuring the default behaviour of releasing a lock and removing the +working file. +.It Fl s Ns Ar state +Sets the state of the deposited revision to the identifier +.Ar state . +The specified value may not contain a space character. +.It Fl t Ns Op Ar str +Change the descriptive text. +The argument +.Ar str +is interpreted as the name of a file containing +the descriptive text or, +if prefixed with a +.Sq - , +the actual descriptive text itself. +If no argument is given, +this option is ignored +(for compatibility reasons). +.It Fl u Ns Op Ar rev +The same as +.Fl r , +but also immediately checks out the deposited revision read-only. +Useful if you wish to read the working file after check-in. +.It Fl V +Print RCS's version number. +.It Fl w Ns Ar username +Uses +.Ar username +as the author field of the deposited revision. +.It Fl x Ns Ar suffixes +Specifies the suffixes for RCS files. +Suffixes should be separated by the +.Sq / +character. +.It Fl z Ns Ar tz +Specify the date output format in keyword substitution, and the +default time zone for +.Ar date +used in the +.Fl d +option. +.El +.Sh ENVIRONMENT +.Bl -tag -width RCSINIT +.It Ev RCSINIT +If set, this variable should contain a list of space-delimited options that +are prepended to the argument list. +.It Ev TMPDIR +When set, this variable specifies the directory where temporary files +are to be created. +The default is set to +.Pa /tmp . +.El +.Sh EXIT STATUS +.Ex -std ci +.Sh SEE ALSO +.Xr co 1 , +.Xr ident 1 , +.Xr rcs 1 , +.Xr rcsclean 1 , +.Xr rcsdiff 1 , +.Xr rcsmerge 1 , +.Xr rlog 1 diff --git a/static/openbsd/man1/cksum.1 b/static/openbsd/man1/cksum.1 new file mode 100644 index 00000000..3b8a8cdd --- /dev/null +++ b/static/openbsd/man1/cksum.1 @@ -0,0 +1,201 @@ +.\" $OpenBSD: cksum.1,v 1.42 2023/10/31 20:42:14 millert Exp $ +.\" +.\" Copyright (c) 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" the Institute of Electrical and Electronics Engineers, Inc. +.\" +.\" 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. 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. +.\" +.\" @(#)cksum.1 8.2 (Berkeley) 4/28/95 +.\" +.Dd $Mdocdate: October 31 2023 $ +.Dt CKSUM 1 +.Os +.Sh NAME +.Nm cksum +.Nd display file checksums and block counts +.Sh SYNOPSIS +.Nm cksum +.Bk -words +.Op Fl bcpqrtx +.Op Fl a Ar algorithms +.Op Fl C Ar checklist +.Op Fl h Ar hashfile +.Op Fl s Ar string +.Op Ar +.Ek +.Sh DESCRIPTION +The +.Nm cksum +utility writes to the standard output a single line for each input file. +The format of this line varies with the algorithm being used as follows: +.Bl -tag -width allxothers +.It cksum +The output line consists of three whitespace separated fields: +a CRC checksum, the number of octets in the input, +and name of the file or string. +If no file name is specified, the standard input is used and no file name +is written. +.It all others +Unless the +.Fl r +option is specified (see below), +output lines consist of four whitespace separated fields: +the name of the algorithm used, the name of the file or string in +parentheses, an equals sign, and the cryptographic hash of the input. +If no file name is specified, the standard input is used and only +the cryptographic hash is output. +.El +.Pp +The options are as follows: +.Bl -tag -width Ds +.It Fl a Ar algorithms +Use the specified algorithm(s) instead of the default (cksum). +Supported algorithms include cksum, md5, rmd160, sha1, +sha224, sha256, sha384, sha512/256, and sha512. +Multiple algorithms may be specified, separated by a comma or whitespace. +Additionally, multiple +.Fl a +options may be specified on the command line. +Case is ignored when matching algorithms. +The output format may be specified on a per-algorithm basis +by using a single-character suffix, e.g.\& +.Dq sha256b . +If the algorithm has a +.Sq b +suffix, the checksum will be output in base64 format. +If the algorithm has an +.Sq x +suffix, the checksum will be output in hex format. +If an algorithm with the same output format is repeated, +only the first instance is used. +Note that output format suffixes are not supported +for the cksum algorithm. +.It Fl b +Output checksums in base64 notation, not hexadecimal by +default. +A +.Sq b +or +.Sq x +suffix on the algorithm will override this default. +This option is ignored for the cksum algorithm. +.It Fl C Ar checklist +Compare the checksum of each +.Ar file +against the checksums in the +.Ar checklist . +Any specified +.Ar file +that is not listed in the +.Ar checklist +will generate an error. +.It Fl c +If this option is specified, the +.Ar file +options become checklists. +Each checklist should contain hash results, which will be verified +against the specified paths. +Both normal (BSD) and reverse (GNU) forms are supported in either +hexadecimal or base64 format. +Output consists of the digest used, the file name, +and an OK, FAILED, or MISSING for the result of the comparison. +Entries in normal format can be validated using any of the supported checksums. +Entries in reverse format are validated using the specified algorithm +(or the default algorithm if none is specified). +If no file is given, stdin is used. +The +.Fl c +option may not be used in conjunction with more than a single +.Fl a +option. +.It Fl h Ar hashfile +Place the checksum into +.Ar hashfile +instead of stdout. +.It Fl p +Echo stdin to stdout and append the +checksum to stdout. +.It Fl q +Only print the checksum (quiet mode) or if used in conjunction with the +.Fl c +flag, only print the failed cases. +.It Fl r +Reverse the format of the hash algorithm output, similar to +the checksum output format (but without the number of octets). +This is also the format used by the GNU +.Nm cksum +utility. +.It Fl s Ar string +Print a checksum of the given +.Ar string . +.It Fl t +Run a built-in time trial. +Specifying +.Fl t +multiple times results in the number of rounds being multiplied +by 10 for each additional flag. +.It Fl x +Run a built-in test script. +.El +.Pp +The default CRC used is based on the polynomial used for CRC error checking +in the networking standard +ISO/IEC 8802-3:1996. +The other available algorithms are described in their respective +man pages in section 3 of the manual. +.Sh EXIT STATUS +.Ex -std cksum +.Sh SEE ALSO +.Xr md5 1 +.Pp +The default calculation is identical to that given in pseudo-code +in the following ACM article: +.Rs +.%T "Computation of Cyclic Redundancy Checks Via Table Lookup" +.%A Dilip V. Sarwate +.%J "Communications of the ACM" +.%D "August 1988" +.Re +.Sh STANDARDS +The +.Nm +utility is compliant with the +.St -p1003.1-2008 +specification. +.Pp +All the flags are extensions to that specification. +.Sh HISTORY +The +.Nm cksum +utility appeared in +.Bx 4.3 Net/2 . +.Sh CAVEATS +Do not use the cksum or md5 algorithms to verify file integrity. +An attacker can trivially produce modified payload that +has the same checksum as the original version. +Use a cryptographic checksum instead. diff --git a/static/openbsd/man1/clang.1 b/static/openbsd/man1/clang.1 new file mode 100644 index 00000000..0dfea08d --- /dev/null +++ b/static/openbsd/man1/clang.1 @@ -0,0 +1,1023 @@ +.\" Man page generated from reStructuredText. +. +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.TH "CLANG, CLANG++, CLANG-CPP" "1" "Dec 23, 2024" "19" "Clang" +.SH NAME +clang, clang++, clang-cpp \- the Clang C, C++, and Objective-C compiler +.SH SYNOPSIS +.sp +\fBclang\fP [\fIoptions\fP] \fIfilename ...\fP +.SH DESCRIPTION +.sp +\fBclang\fP is a C, C++, and Objective\-C compiler which encompasses +preprocessing, parsing, optimization, code generation, assembly, and linking. +Depending on which high\-level mode setting is passed, Clang will stop before +doing a full link. While Clang is highly integrated, it is important to +understand the stages of compilation, to understand how to invoke it. These +stages are: +.INDENT 0.0 +.TP +.B Driver +The clang executable is actually a small driver which controls the overall +execution of other tools such as the compiler, assembler and linker. +Typically you do not need to interact with the driver, but you +transparently use it to run the other tools. +.TP +.B Preprocessing +This stage handles tokenization of the input source file, macro expansion, +#include expansion and handling of other preprocessor directives. The +output of this stage is typically called a \(dq.i\(dq (for C), \(dq.ii\(dq (for C++), +\(dq.mi\(dq (for Objective\-C), or \(dq.mii\(dq (for Objective\-C++) file. +.TP +.B Parsing and Semantic Analysis +This stage parses the input file, translating preprocessor tokens into a +parse tree. Once in the form of a parse tree, it applies semantic +analysis to compute types for expressions as well and determine whether +the code is well formed. This stage is responsible for generating most of +the compiler warnings as well as parse errors. The output of this stage is +an \(dqAbstract Syntax Tree\(dq (AST). +.TP +.B Code Generation and Optimization +This stage translates an AST into low\-level intermediate code (known as +\(dqLLVM IR\(dq) and ultimately to machine code. This phase is responsible for +optimizing the generated code and handling target\-specific code generation. +The output of this stage is typically called a \(dq.s\(dq file or \(dqassembly\(dq file. +.sp +Clang also supports the use of an integrated assembler, in which the code +generator produces object files directly. This avoids the overhead of +generating the \(dq.s\(dq file and of calling the target assembler. +.TP +.B Assembler +This stage runs the target assembler to translate the output of the +compiler into a target object file. The output of this stage is typically +called a \(dq.o\(dq file or \(dqobject\(dq file. +.TP +.B Linker +This stage runs the target linker to merge multiple object files into an +executable or dynamic library. The output of this stage is typically called +an \(dqa.out\(dq, \(dq.dylib\(dq or \(dq.so\(dq file. +.UNINDENT +.sp +\fBClang Static Analyzer\fP +.sp +The Clang Static Analyzer is a tool that scans source code to try to find bugs +through code analysis. This tool uses many parts of Clang and is built into +the same driver. Please see <\X'tty: link https://clang-analyzer.llvm.org'\fI\%https://clang\-analyzer.llvm.org\fP\X'tty: link'> for more details +on how to use the static analyzer. +.SH OPTIONS +.SS Stage Selection Options +.INDENT 0.0 +.TP +.B \-E +Run the preprocessor stage. +.UNINDENT +.INDENT 0.0 +.TP +.B \-fsyntax\-only +Run the preprocessor, parser and semantic analysis stages. +.UNINDENT +.INDENT 0.0 +.TP +.B \-S +Run the previous stages as well as LLVM generation and optimization stages +and target\-specific code generation, producing an assembly file. +.UNINDENT +.INDENT 0.0 +.TP +.B \-c +Run all of the above, plus the assembler, generating a target \(dq.o\(dq object file. +.UNINDENT +.INDENT 0.0 +.TP +.B no stage selection option +If no stage selection option is specified, all stages above are run, and the +linker is run to combine the results into an executable or shared library. +.UNINDENT +.SS Language Selection and Mode Options +.INDENT 0.0 +.TP +.B \-x +Treat subsequent input files as having type language. +.UNINDENT +.INDENT 0.0 +.TP +.B \-std= +Specify the language standard to compile for. +.sp +Supported values for the C language are: +.INDENT 7.0 +.INDENT 3.5 +.nf +\fBc89\fP +\fBc90\fP +\fBiso9899:1990\fP +.fi +.sp +.INDENT 0.0 +.INDENT 3.5 +ISO C 1990 +.UNINDENT +.UNINDENT +.nf +\fBiso9899:199409\fP +.fi +.sp +.INDENT 0.0 +.INDENT 3.5 +ISO C 1990 with amendment 1 +.UNINDENT +.UNINDENT +.nf +\fBgnu89\fP +\fBgnu90\fP +.fi +.sp +.INDENT 0.0 +.INDENT 3.5 +ISO C 1990 with GNU extensions +.UNINDENT +.UNINDENT +.nf +\fBc99\fP +\fBiso9899:1999\fP +.fi +.sp +.INDENT 0.0 +.INDENT 3.5 +ISO C 1999 +.UNINDENT +.UNINDENT +.nf +\fBgnu99\fP +.fi +.sp +.INDENT 0.0 +.INDENT 3.5 +ISO C 1999 with GNU extensions +.UNINDENT +.UNINDENT +.nf +\fBc11\fP +\fBiso9899:2011\fP +.fi +.sp +.INDENT 0.0 +.INDENT 3.5 +ISO C 2011 +.UNINDENT +.UNINDENT +.nf +\fBgnu11\fP +.fi +.sp +.INDENT 0.0 +.INDENT 3.5 +ISO C 2011 with GNU extensions +.UNINDENT +.UNINDENT +.nf +\fBc17\fP +\fBiso9899:2017\fP +.fi +.sp +.INDENT 0.0 +.INDENT 3.5 +ISO C 2017 +.UNINDENT +.UNINDENT +.nf +\fBgnu17\fP +.fi +.sp +.INDENT 0.0 +.INDENT 3.5 +ISO C 2017 with GNU extensions +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.sp +The default C language standard is \fBgnu17\fP, except on PS4, where it is +\fBgnu99\fP\&. +.sp +Supported values for the C++ language are: +.INDENT 7.0 +.INDENT 3.5 +.nf +\fBc++98\fP +\fBc++03\fP +.fi +.sp +.INDENT 0.0 +.INDENT 3.5 +ISO C++ 1998 with amendments +.UNINDENT +.UNINDENT +.nf +\fBgnu++98\fP +\fBgnu++03\fP +.fi +.sp +.INDENT 0.0 +.INDENT 3.5 +ISO C++ 1998 with amendments and GNU extensions +.UNINDENT +.UNINDENT +.nf +\fBc++11\fP +.fi +.sp +.INDENT 0.0 +.INDENT 3.5 +ISO C++ 2011 with amendments +.UNINDENT +.UNINDENT +.nf +\fBgnu++11\fP +.fi +.sp +.INDENT 0.0 +.INDENT 3.5 +ISO C++ 2011 with amendments and GNU extensions +.UNINDENT +.UNINDENT +.nf +\fBc++14\fP +.fi +.sp +.INDENT 0.0 +.INDENT 3.5 +ISO C++ 2014 with amendments +.UNINDENT +.UNINDENT +.nf +\fBgnu++14\fP +.fi +.sp +.INDENT 0.0 +.INDENT 3.5 +ISO C++ 2014 with amendments and GNU extensions +.UNINDENT +.UNINDENT +.nf +\fBc++17\fP +.fi +.sp +.INDENT 0.0 +.INDENT 3.5 +ISO C++ 2017 with amendments +.UNINDENT +.UNINDENT +.nf +\fBgnu++17\fP +.fi +.sp +.INDENT 0.0 +.INDENT 3.5 +ISO C++ 2017 with amendments and GNU extensions +.UNINDENT +.UNINDENT +.nf +\fBc++20\fP +.fi +.sp +.INDENT 0.0 +.INDENT 3.5 +ISO C++ 2020 with amendments +.UNINDENT +.UNINDENT +.nf +\fBgnu++20\fP +.fi +.sp +.INDENT 0.0 +.INDENT 3.5 +ISO C++ 2020 with amendments and GNU extensions +.UNINDENT +.UNINDENT +.nf +\fBc++23\fP +.fi +.sp +.INDENT 0.0 +.INDENT 3.5 +ISO C++ 2023 with amendments +.UNINDENT +.UNINDENT +.nf +\fBgnu++23\fP +.fi +.sp +.INDENT 0.0 +.INDENT 3.5 +ISO C++ 2023 with amendments and GNU extensions +.UNINDENT +.UNINDENT +.nf +\fBc++2c\fP +.fi +.sp +.INDENT 0.0 +.INDENT 3.5 +Working draft for C++2c +.UNINDENT +.UNINDENT +.nf +\fBgnu++2c\fP +.fi +.sp +.INDENT 0.0 +.INDENT 3.5 +Working draft for C++2c with GNU extensions +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.sp +The default C++ language standard is \fBgnu++17\fP\&. +.sp +Supported values for the OpenCL language are: +.INDENT 7.0 +.INDENT 3.5 +.nf +\fBcl1.0\fP +.fi +.sp +.INDENT 0.0 +.INDENT 3.5 +OpenCL 1.0 +.UNINDENT +.UNINDENT +.nf +\fBcl1.1\fP +.fi +.sp +.INDENT 0.0 +.INDENT 3.5 +OpenCL 1.1 +.UNINDENT +.UNINDENT +.nf +\fBcl1.2\fP +.fi +.sp +.INDENT 0.0 +.INDENT 3.5 +OpenCL 1.2 +.UNINDENT +.UNINDENT +.nf +\fBcl2.0\fP +.fi +.sp +.INDENT 0.0 +.INDENT 3.5 +OpenCL 2.0 +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.sp +The default OpenCL language standard is \fBcl1.0\fP\&. +.sp +Supported values for the CUDA language are: +.INDENT 7.0 +.INDENT 3.5 +.nf +\fBcuda\fP +.fi +.sp +.INDENT 0.0 +.INDENT 3.5 +NVIDIA CUDA(tm) +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B \-stdlib= +Specify the C++ standard library to use; supported options are libstdc++ and +libc++. If not specified, platform default will be used. +.UNINDENT +.INDENT 0.0 +.TP +.B \-rtlib= +Specify the compiler runtime library to use; supported options are libgcc and +compiler\-rt. If not specified, platform default will be used. +.UNINDENT +.INDENT 0.0 +.TP +.B \-ansi +Same as \-std=c89. +.UNINDENT +.INDENT 0.0 +.TP +.B \-ObjC, \-ObjC++ +Treat source input files as Objective\-C and Object\-C++ inputs respectively. +.UNINDENT +.INDENT 0.0 +.TP +.B \-trigraphs +Enable trigraphs. +.UNINDENT +.INDENT 0.0 +.TP +.B \-ffreestanding +Indicate that the file should be compiled for a freestanding, not a hosted, +environment. Note that it is assumed that a freestanding environment will +additionally provide \fImemcpy\fP, \fImemmove\fP, \fImemset\fP and \fImemcmp\fP +implementations, as these are needed for efficient codegen for many programs. +.UNINDENT +.INDENT 0.0 +.TP +.B \-fno\-builtin +Disable special handling and optimizations of well\-known library functions, +like \fBstrlen()\fP and \fBmalloc()\fP\&. +.UNINDENT +.INDENT 0.0 +.TP +.B \-fno\-builtin\- +Disable special handling and optimizations for the specific library function. +For example, \fB\-fno\-builtin\-strlen\fP removes any special handling for the +\fBstrlen()\fP library function. +.UNINDENT +.INDENT 0.0 +.TP +.B \-fno\-builtin\-std\- +Disable special handling and optimizations for the specific C++ standard +library function in namespace \fBstd\fP\&. For example, +\fB\-fno\-builtin\-std\-move_if_noexcept\fP removes any special handling for the +\fBstd::move_if_noexcept()\fP library function. +.sp +For C standard library functions that the C++ standard library also provides +in namespace \fBstd\fP, use \fI\%\-fno\-builtin\-\fP instead. +.UNINDENT +.INDENT 0.0 +.TP +.B \-fmath\-errno +Indicate that math functions should be treated as updating \fBerrno\fP\&. +.UNINDENT +.INDENT 0.0 +.TP +.B \-fpascal\-strings +Enable support for Pascal\-style strings with \(dq\epfoo\(dq. +.UNINDENT +.INDENT 0.0 +.TP +.B \-fms\-extensions +Enable support for Microsoft extensions. +.UNINDENT +.INDENT 0.0 +.TP +.B \-fmsc\-version= +Set \fB_MSC_VER\fP\&. When on Windows, this defaults to either the same value as +the currently installed version of cl.exe, or \fB1933\fP\&. Not set otherwise. +.UNINDENT +.INDENT 0.0 +.TP +.B \-fborland\-extensions +Enable support for Borland extensions. +.UNINDENT +.INDENT 0.0 +.TP +.B \-fwritable\-strings +Make all string literals default to writable. This disables uniquing of +strings and other optimizations. +.UNINDENT +.INDENT 0.0 +.TP +.B \-flax\-vector\-conversions, \-flax\-vector\-conversions=, \-fno\-lax\-vector\-conversions +Allow loose type checking rules for implicit vector conversions. +Possible values of : +.INDENT 7.0 +.IP \(bu 2 +\fBnone\fP: allow no implicit conversions between vectors +.IP \(bu 2 +\fBinteger\fP: allow implicit bitcasts between integer vectors of the same +overall bit\-width +.IP \(bu 2 +\fBall\fP: allow implicit bitcasts between any vectors of the same +overall bit\-width +.UNINDENT +.sp + defaults to \fBinteger\fP if unspecified. +.UNINDENT +.INDENT 0.0 +.TP +.B \-fblocks +Enable the \(dqBlocks\(dq language feature. +.UNINDENT +.INDENT 0.0 +.TP +.B \-fobjc\-abi\-version=version +Select the Objective\-C ABI version to use. Available versions are 1 (legacy +\(dqfragile\(dq ABI), 2 (non\-fragile ABI 1), and 3 (non\-fragile ABI 2). +.UNINDENT +.INDENT 0.0 +.TP +.B \-fobjc\-nonfragile\-abi\-version= +Select the Objective\-C non\-fragile ABI version to use by default. This will +only be used as the Objective\-C ABI when the non\-fragile ABI is enabled +(either via \fI\%\-fobjc\-nonfragile\-abi\fP, or because it is the platform +default). +.UNINDENT +.INDENT 0.0 +.TP +.B \-fobjc\-nonfragile\-abi, \-fno\-objc\-nonfragile\-abi +Enable use of the Objective\-C non\-fragile ABI. On platforms for which this is +the default ABI, it can be disabled with \fI\%\-fno\-objc\-nonfragile\-abi\fP\&. +.UNINDENT +.SS Target Selection Options +.sp +Clang fully supports cross compilation as an inherent part of its design. +Depending on how your version of Clang is configured, it may have support for a +number of cross compilers, or may only support a native target. +.INDENT 0.0 +.TP +.B \-arch +Specify the architecture to build for (Mac OS X specific). +.UNINDENT +.INDENT 0.0 +.TP +.B \-target +Specify the architecture to build for (all platforms). +.UNINDENT +.INDENT 0.0 +.TP +.B \-mmacos\-version\-min= +When building for macOS, specify the minimum version supported by your +application. +.UNINDENT +.INDENT 0.0 +.TP +.B \-miphoneos\-version\-min +When building for iPhone OS, specify the minimum version supported by your +application. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-print\-supported\-cpus +Print out a list of supported processors for the given target (specified +through \fB\-\-target=\fP or \fI\%\-arch\fP \fB\fP). If no +target is specified, the system default target will be used. +.UNINDENT +.INDENT 0.0 +.TP +.B \-mcpu=?, \-mtune=? +Acts as an alias for \fI\%\-\-print\-supported\-cpus\fP\&. +.UNINDENT +.INDENT 0.0 +.TP +.B \-mcpu=help, \-mtune=help +Acts as an alias for \fI\%\-\-print\-supported\-cpus\fP\&. +.UNINDENT +.INDENT 0.0 +.TP +.B \-march= +Specify that Clang should generate code for a specific processor family +member and later. For example, if you specify \-march=i486, the compiler is +allowed to generate instructions that are valid on i486 and later processors, +but which may not exist on earlier ones. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-print\-enabled\-extensions +Prints the list of extensions that are enabled for the target specified by the +combination of \fI\-\-target\fP, \fI\-march\fP, and \fI\-mcpu\fP values. Currently, this +option is only supported on AArch64 and RISC\-V. On RISC\-V, this option also +prints out the ISA string of enabled extensions. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-print\-supported\-extensions +Prints the list of all extensions that are supported for every CPU target +for an architecture (specified through \fB\-\-target=\fP or +\fI\%\-arch\fP \fB\fP). If no target is specified, the system +default target will be used. Currently, this option is only supported on +AArch64 and RISC\-V. +.UNINDENT +.SS Code Generation Options +.INDENT 0.0 +.TP +.B \-O0, \-O1, \-O2, \-O3, \-Ofast, \-Os, \-Oz, \-Og, \-O, \-O4 +Specify which optimization level to use: +.INDENT 7.0 +.INDENT 3.5 +\fI\%\-O0\fP Means \(dqno optimization\(dq: this level compiles the fastest and +generates the most debuggable code. +.sp +\fI\%\-O1\fP Somewhere between \fI\%\-O0\fP and \fI\%\-O2\fP\&. +.sp +\fI\%\-O2\fP Moderate level of optimization which enables most +optimizations. +.sp +\fI\%\-O3\fP Like \fI\%\-O2\fP, except that it enables optimizations that +take longer to perform or that may generate larger code (in an attempt to +make the program run faster). +.sp +\fI\%\-Ofast\fP Enables all the optimizations from \fI\%\-O3\fP along +with other aggressive optimizations that may violate strict compliance with +language standards. This is deprecated in Clang 19 and a warning is emitted +that \fI\%\-O3\fP in combination with \fI\%\-ffast\-math\fP should be used +instead if the request for non\-standard math behavior is intended. There +is no timeline yet for removal; the aim is to discourage use of +\fI\%\-Ofast\fP due to the surprising behavior of an optimization flag +changing the observable behavior of correct code. +.sp +\fI\%\-Os\fP Like \fI\%\-O2\fP with extra optimizations to reduce code +size. +.sp +\fI\%\-Oz\fP Like \fI\%\-Os\fP (and thus \fI\%\-O2\fP), but reduces code +size further. +.sp +\fI\%\-Og\fP Like \fI\%\-O1\fP\&. In future versions, this option might +disable different optimizations in order to improve debuggability. +.sp +\fI\%\-O\fP Equivalent to \fI\%\-O1\fP\&. +.sp +\fI\%\-O4\fP and higher +.INDENT 0.0 +.INDENT 3.5 +Currently equivalent to \fI\%\-O3\fP +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B \-g, \-gline\-tables\-only, \-gmodules +Control debug information output. Note that Clang debug information works +best at \fI\%\-O0\fP\&. When more than one option starting with \fI\-g\fP is +specified, the last one wins: +.INDENT 7.0 +.INDENT 3.5 +\fI\%\-g\fP Generate debug information. +.sp +\fI\%\-gline\-tables\-only\fP Generate only line table debug information. This +allows for symbolicated backtraces with inlining information, but does not +include any information about variables, their locations or types. +.sp +\fI\%\-gmodules\fP Generate debug information that contains external +references to types defined in Clang modules or precompiled headers instead +of emitting redundant debug type information into every object file. This +option transparently switches the Clang module format to object file +containers that hold the Clang module together with the debug information. +When compiling a program that uses Clang modules or precompiled headers, +this option produces complete debug information with faster compile +times and much smaller object files. +.sp +This option should not be used when building static libraries for +distribution to other machines because the debug info will contain +references to the module cache on the machine the object files in the +library were built on. +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B \-fstandalone\-debug \-fno\-standalone\-debug +Clang supports a number of optimizations to reduce the size of debug +information in the binary. They work based on the assumption that the +debug type information can be spread out over multiple compilation units. +For instance, Clang will not emit type definitions for types that are not +needed by a module and could be replaced with a forward declaration. +Further, Clang will only emit type info for a dynamic C++ class in the +module that contains the vtable for the class. +.sp +The \fI\%\-fstandalone\-debug\fP option turns off these optimizations. +This is useful when working with 3rd\-party libraries that don\(aqt come with +debug information. This is the default on Darwin. Note that Clang will +never emit type information for types that are not referenced at all by the +program. +.UNINDENT +.INDENT 0.0 +.TP +.B \-feliminate\-unused\-debug\-types +By default, Clang does not emit type information for types that are defined +but not used in a program. To retain the debug info for these unused types, +the negation \fB\-fno\-eliminate\-unused\-debug\-types\fP can be used. +.UNINDENT +.INDENT 0.0 +.TP +.B \-fexceptions +Allow exceptions to be thrown through Clang compiled stack frames (on many +targets, this will enable unwind information for functions that might have +an exception thrown through them). For most targets, this is enabled by +default for C++. +.UNINDENT +.INDENT 0.0 +.TP +.B \-ftrapv +Generate code to catch integer overflow errors. Signed integer overflow is +undefined in C. With this flag, extra code is generated to detect this and +abort when it happens. +.UNINDENT +.INDENT 0.0 +.TP +.B \-fvisibility +This flag sets the default visibility level. +.UNINDENT +.INDENT 0.0 +.TP +.B \-fcommon, \-fno\-common +This flag specifies that variables without initializers get common linkage. +It can be disabled with \fI\%\-fno\-common\fP\&. +.UNINDENT +.INDENT 0.0 +.TP +.B \-ftls\-model= +Set the default thread\-local storage (TLS) model to use for thread\-local +variables. Valid values are: \(dqglobal\-dynamic\(dq, \(dqlocal\-dynamic\(dq, +\(dqinitial\-exec\(dq and \(dqlocal\-exec\(dq. The default is \(dqglobal\-dynamic\(dq. The default +model can be overridden with the tls_model attribute. The compiler will try +to choose a more efficient model if possible. +.UNINDENT +.INDENT 0.0 +.TP +.B \-flto, \-flto=full, \-flto=thin, \-emit\-llvm +Generate output files in LLVM formats, suitable for link time optimization. +When used with \fI\%\-S\fP this generates LLVM intermediate language +assembly files, otherwise this generates LLVM bitcode format object files +(which may be passed to the linker depending on the stage selection options). +.sp +The default for \fI\%\-flto\fP is \(dqfull\(dq, in which the +LLVM bitcode is suitable for monolithic Link Time Optimization (LTO), where +the linker merges all such modules into a single combined module for +optimization. With \(dqthin\(dq, \fI\%ThinLTO\fP +compilation is invoked instead. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +On Darwin, when using \fI\%\-flto\fP along with \fI\%\-g\fP and +compiling and linking in separate steps, you also need to pass +\fB\-Wl,\-object_path_lto,.o\fP at the linking step to instruct the +ld64 linker not to delete the temporary object file generated during Link +Time Optimization (this flag is automatically passed to the linker by Clang +if compilation and linking are done in a single step). This allows debugging +the executable as well as generating the \fB\&.dSYM\fP bundle using \fBdsymutil(1)\fP\&. +.UNINDENT +.UNINDENT +.UNINDENT +.SS Driver Options +.INDENT 0.0 +.TP +.B \-### +Print (but do not run) the commands to run for this compilation. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-help +Display available options. +.UNINDENT +.INDENT 0.0 +.TP +.B \-Qunused\-arguments +Do not emit any warnings for unused driver arguments. +.UNINDENT +.INDENT 0.0 +.TP +.B \-Wa, +Pass the comma separated arguments in args to the assembler. +.UNINDENT +.INDENT 0.0 +.TP +.B \-Wl, +Pass the comma separated arguments in args to the linker. +.UNINDENT +.INDENT 0.0 +.TP +.B \-Wp, +Pass the comma separated arguments in args to the preprocessor. +.UNINDENT +.INDENT 0.0 +.TP +.B \-Xanalyzer +Pass arg to the static analyzer. +.UNINDENT +.INDENT 0.0 +.TP +.B \-Xassembler +Pass arg to the assembler. +.UNINDENT +.INDENT 0.0 +.TP +.B \-Xlinker +Pass arg to the linker. +.UNINDENT +.INDENT 0.0 +.TP +.B \-Xpreprocessor +Pass arg to the preprocessor. +.UNINDENT +.INDENT 0.0 +.TP +.B \-o +Write output to file. +.UNINDENT +.INDENT 0.0 +.TP +.B \-print\-file\-name= +Print the full library path of file. +.UNINDENT +.INDENT 0.0 +.TP +.B \-print\-libgcc\-file\-name +Print the library path for the currently used compiler runtime library +(\(dqlibgcc.a\(dq or \(dqlibclang_rt.builtins.*.a\(dq). +.UNINDENT +.INDENT 0.0 +.TP +.B \-print\-prog\-name= +Print the full program path of name. +.UNINDENT +.INDENT 0.0 +.TP +.B \-print\-search\-dirs +Print the paths used for finding libraries and programs. +.UNINDENT +.INDENT 0.0 +.TP +.B \-save\-temps +Save intermediate compilation results. +.UNINDENT +.INDENT 0.0 +.TP +.B \-save\-stats, \-save\-stats=cwd, \-save\-stats=obj +Save internal code generation (LLVM) statistics to a file in the current +directory (\fI\%\-save\-stats\fP/\(dq\-save\-stats=cwd\(dq) or the directory +of the output file (\(dq\-save\-state=obj\(dq). +.sp +You can also use environment variables to control the statistics reporting. +Setting \fBCC_PRINT_INTERNAL_STAT\fP to \fB1\fP enables the feature, the report +goes to stdout in JSON format. +.sp +Setting \fBCC_PRINT_INTERNAL_STAT_FILE\fP to a file path makes it report +statistics to the given file in the JSON format. +.sp +Note that \fB\-save\-stats\fP take precedence over \fBCC_PRINT_INTERNAL_STAT\fP +and \fBCC_PRINT_INTERNAL_STAT_FILE\fP\&. +.UNINDENT +.INDENT 0.0 +.TP +.B \-integrated\-as, \-no\-integrated\-as +Used to enable and disable, respectively, the use of the integrated +assembler. Whether the integrated assembler is on by default is target +dependent. +.UNINDENT +.INDENT 0.0 +.TP +.B \-time +Time individual commands. +.UNINDENT +.INDENT 0.0 +.TP +.B \-ftime\-report +Print timing summary of each stage of compilation. +.UNINDENT +.INDENT 0.0 +.TP +.B \-v +Show commands to run and use verbose output. +.UNINDENT +.SS Diagnostics Options +.INDENT 0.0 +.TP +.B \-fshow\-column, \-fshow\-source\-location, \-fcaret\-diagnostics, \-fdiagnostics\-fixit\-info, \-fdiagnostics\-parseable\-fixits, \-fdiagnostics\-print\-source\-range\-info, \-fprint\-source\-range\-info, \-fdiagnostics\-show\-option, \-fmessage\-length +These options control how Clang prints out information about diagnostics +(errors and warnings). Please see the Clang User\(aqs Manual for more information. +.UNINDENT +.SS Preprocessor Options +.INDENT 0.0 +.TP +.B \-D= +Adds an implicit #define into the predefines buffer which is read before the +source file is preprocessed. +.UNINDENT +.INDENT 0.0 +.TP +.B \-U +Adds an implicit #undef into the predefines buffer which is read before the +source file is preprocessed. +.UNINDENT +.INDENT 0.0 +.TP +.B \-include +Adds an implicit #include into the predefines buffer which is read before the +source file is preprocessed. +.UNINDENT +.INDENT 0.0 +.TP +.B \-I +Add the specified directory to the search path for include files. +.UNINDENT +.INDENT 0.0 +.TP +.B \-F +Add the specified directory to the search path for framework include files. +.UNINDENT +.INDENT 0.0 +.TP +.B \-nostdinc +Do not search the standard system directories or compiler builtin directories +for include files. +.UNINDENT +.INDENT 0.0 +.TP +.B \-nostdlibinc +Do not search the standard system directories for include files, but do +search compiler builtin include directories. +.UNINDENT +.INDENT 0.0 +.TP +.B \-nobuiltininc +Do not search clang\(aqs builtin directory for include files. +.UNINDENT +.INDENT 0.0 +.TP +.B \-fkeep\-system\-includes +Usable only with \fI\%\-E\fP\&. Do not copy the preprocessed content of +\(dqsystem\(dq headers to the output; instead, preserve the #include directive. +This can greatly reduce the volume of text produced by \fI\%\-E\fP which +can be helpful when trying to produce a \(dqsmall\(dq reproduceable test case. +.sp +This option does not guarantee reproduceability, however. If the including +source defines preprocessor symbols that influence the behavior of system +headers (for example, \fB_XOPEN_SOURCE\fP) the operation of \fI\%\-E\fP will +remove that definition and thus can change the semantics of the included +header. Also, using a different version of the system headers (especially a +different version of the STL) may result in different behavior. Always verify +the preprocessed file by compiling it separately. +.UNINDENT +.SH ENVIRONMENT +.INDENT 0.0 +.TP +.B TMPDIR, TEMP, TMP +These environment variables are checked, in order, for the location to write +temporary files used during the compilation process. +.UNINDENT +.INDENT 0.0 +.TP +.B CPATH +If this environment variable is present, it is treated as a delimited list of +paths to be added to the default system include path list. The delimiter is +the platform dependent delimiter, as used in the PATH environment variable. +.sp +Empty components in the environment variable are ignored. +.UNINDENT +.INDENT 0.0 +.TP +.B C_INCLUDE_PATH, OBJC_INCLUDE_PATH, CPLUS_INCLUDE_PATH, OBJCPLUS_INCLUDE_PATH +These environment variables specify additional paths, as for \fI\%CPATH\fP, which are +only used when processing the appropriate language. +.UNINDENT +.INDENT 0.0 +.TP +.B MACOSX_DEPLOYMENT_TARGET +If \fI\%\-mmacos\-version\-min\fP is unspecified, the default deployment +target is read from this environment variable. This option only affects +Darwin targets. +.UNINDENT +.SH BUGS +.sp +To report bugs, please visit <\X'tty: link https://github.com/llvm/llvm-project/issues/'\fI\%https://github.com/llvm/llvm\-project/issues/\fP\X'tty: link'>. Most bug reports should +include preprocessed source files (use the \fI\%\-E\fP option) and the full +output of the compiler, along with information to reproduce. +.SH SEE ALSO +.sp +\fBas(1)\fP, \fBclang\-local(1)\fP, \fBld(1)\fP +.SH AUTHOR +Maintained by the Clang / LLVM Team () +.SH COPYRIGHT +2007-2024, The Clang Team +.\" Generated by docutils manpage writer. +. diff --git a/static/openbsd/man1/clear.1 b/static/openbsd/man1/clear.1 new file mode 100644 index 00000000..af1fdde2 --- /dev/null +++ b/static/openbsd/man1/clear.1 @@ -0,0 +1,163 @@ +.\"*************************************************************************** +.\" Copyright 2018-2021,2022 Thomas E. Dickey * +.\" Copyright 1998-2016,2017 Free Software Foundation, Inc. * +.\" * +.\" Permission is hereby granted, free of charge, to any person obtaining a * +.\" copy of this software and associated documentation files (the * +.\" "Software"), to deal in the Software without restriction, including * +.\" without limitation the rights to use, copy, modify, merge, publish, * +.\" distribute, distribute with modifications, sublicense, and/or sell * +.\" copies of the Software, and to permit persons to whom the Software is * +.\" furnished to do so, subject to the following conditions: * +.\" * +.\" The above copyright notice and this permission notice shall be included * +.\" in all copies or substantial portions of the Software. * +.\" * +.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * +.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * +.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * +.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * +.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * +.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * +.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * +.\" * +.\" Except as contained in this notice, the name(s) of the above copyright * +.\" holders shall not be used in advertising or otherwise to promote the * +.\" sale, use or other dealings in this Software without prior written * +.\" authorization. * +.\"*************************************************************************** +.\" +.\" $Id: clear.1,v 1.1 2024/04/27 15:05:55 jmc Exp $ +.TH clear 1 "" +.\" these would be fallbacks for DS/DE, +.\" but groff changed the meaning of the macros. +.de NS +.ie n .sp +.el .sp .5 +.ie n .in +4 +.el .in +2 +.nf +.ft C \" Courier +.. +.de NE +.fi +.ft R +.ie n .in -4 +.el .in -2 +.. +.ie \n(.g .ds `` \(lq +.el .ds `` `` +.ie \n(.g .ds '' \(rq +.el .ds '' '' +.de bP +.ie n .IP \(bu 4 +.el .IP \(bu 2 +.. +.ds n 5 +.SH NAME +\fBclear\fP \- clear the terminal screen +.SH SYNOPSIS +\fBclear\fR [\fB\-T\fItype\fR] [\fB\-V\fR] [\fB\-x\fR] +.br +.SH DESCRIPTION +\fBclear\fP clears your terminal's screen if this is possible, +including the terminal's scrollback buffer +(if the extended \*(``E3\*('' capability is defined). +\fBclear\fP looks in the environment for the terminal type +given by the environment variable \fBTERM\fP, +and then in the +\fBterminfo\fP database to determine how to clear the screen. +.PP +\fBclear\fP writes to the standard output. +You can redirect the standard output to a file (which prevents +\fBclear\fP from actually clearing the screen), +and later \fBcat\fP the file to the screen, clearing it at that point. +.SH OPTIONS +.PP +.TP 5 +.B \-T \fItype\fP +indicates the \fItype\fP of terminal. +Normally this option is +unnecessary, because the default is taken from the environment +variable \fBTERM\fP. +If \fB\-T\fP is specified, then the shell +variables \fBLINES\fP and \fBCOLUMNS\fP will also be ignored. +.TP +.B \-V +reports the version of ncurses which was used in this program, and exits. +The options are as follows: +.TP +.B \-x +do not attempt to clear the terminal's scrollback buffer +using the extended \*(``E3\*('' capability. +.SH HISTORY +A \fBclear\fP command appeared in 2.79BSD dated February 24, 1979. +Later that was provided in Unix 8th edition (1985). +.PP +AT&T adapted a different BSD program (\fBtset\fP) to make +a new command (\fBtput\fP), +and used this to replace the \fBclear\fP command with a shell script +which calls \fBtput clear\fP, e.g., +.NS +/usr/bin/tput ${1:+-T$1} clear 2> /dev/null +exit +.NE +.PP +In 1989, when Keith Bostic revised the BSD \fBtput\fP command +to make it similar to the AT&T \fBtput\fP, +he added a shell script for the \fBclear\fP command: +.NS +exec tput clear +.NE +.PP +The remainder of the script in each case is a copyright notice. +.PP +The ncurses \fBclear\fP command began in 1995 by adapting the original +BSD \fBclear\fP command (with terminfo, of course). +.PP +The \fBE3\fP extension came later: +.bP +In June 1999, \fBxterm\fP provided an extension to the standard control +sequence for clearing the screen. +Rather than clearing just the visible part of the screen using +.NS +printf '\\033[2J' +.NE +.IP +one could clear the \fIscrollback\fP using +.NS +printf '\\033[\fB3\fPJ' +.NE +.IP +This is documented in \fIXTerm Control Sequences\fP as a feature originating +with \fBxterm\fP. +.bP +A few other terminal developers adopted the feature, e.g., PuTTY in 2006. +.bP +In April 2011, a Red Hat developer submitted a patch to the Linux +kernel, modifying its console driver to do the same thing. +The Linux change, part of the 3.0 release, did not mention \fBxterm\fP, +although it was cited in the Red Hat bug report (#683733) +which led to the change. +.bP +Again, a few other terminal developers adopted the feature. +But the +next relevant step was a change to the \fBclear\fP program in 2013 +to incorporate this extension. +.bP +In 2013, the \fBE3\fP extension was overlooked in \fBtput\fP with +the \*(``clear\*('' parameter. +That was addressed in 2016 by reorganizing \fBtput\fP to share +its logic with \fBclear\fP and \fBtset\fP. +.SH PORTABILITY +Neither IEEE Std 1003.1/The Open Group Base Specifications Issue 7 +(POSIX.1-2008) nor X/Open Curses Issue 7 documents tset or reset. +.PP +The latter documents \fBtput\fP, which could be used to replace this utility +either via a shell script or by an alias (such as a symbolic link) to +run \fBtput\fP as \fBclear\fP. +.SH SEE ALSO +\fBtput\fP(1), \fBterminfo\fP(\*n), \fBxterm\fP(1). +.PP +This describes \fBncurses\fP +version 6.4 (patch 20221231). diff --git a/static/openbsd/man1/cmp.1 b/static/openbsd/man1/cmp.1 new file mode 100644 index 00000000..d726396a --- /dev/null +++ b/static/openbsd/man1/cmp.1 @@ -0,0 +1,126 @@ +.\" $OpenBSD: cmp.1,v 1.17 2014/01/25 22:08:08 jmc Exp $ +.\" $NetBSD: cmp.1,v 1.4 1995/09/08 03:22:55 tls Exp $ +.\" +.\" Copyright (c) 1987, 1990, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" the Institute of Electrical and Electronics Engineers, Inc. +.\" +.\" 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. 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. +.\" +.\" @(#)cmp.1 8.1 (Berkeley) 6/6/93 +.\" +.Dd $Mdocdate: January 25 2014 $ +.Dt CMP 1 +.Os +.Sh NAME +.Nm cmp +.Nd compare two files +.Sh SYNOPSIS +.Nm cmp +.Op Fl l | Fl s +.Ar file1 file2 +.Op Ar skip1 Op Ar skip2 +.Sh DESCRIPTION +The +.Nm +utility compares two files of any type and writes the results +to the standard output. +By default, +.Nm +is silent if the files are the same; if they differ, the byte +and line number at which the first difference occurred is reported. +.Pp +Bytes and lines are numbered beginning with one. +.Pp +The options are as follows: +.Bl -tag -width Ds +.It Fl l +Print the byte number (decimal) and the differing +byte values (octal) for each difference. +.It Fl s +Silent. +Print nothing for differing files; return exit +status only. +.El +.Pp +The optional arguments +.Ar skip1 +and +.Ar skip2 +are the byte offsets from the beginning of +.Ar file1 +and +.Ar file2 , +respectively, where the comparison will begin. +The offset is decimal by default, but may be expressed as a hexadecimal +or octal value by preceding it with a leading +.Dq 0x +or +.Dq 0 . +.Sh EXIT STATUS +The +.Nm +utility exits with one of the following values: +.Bl -tag -width Ds -offset indent +.It 0 +The files are identical. +.It 1 +The files are different; this includes the case +where one file is identical to the first part of +the other. +In the latter case, if the +.Fl s +option has not been specified, +.Nm +writes to standard error that +.Dv EOF +was reached in the shorter +file (before any differences were found). +.It >1 +An error occurred. +.El +.Sh SEE ALSO +.Xr diff 1 , +.Xr diff3 1 , +.Xr sdiff 1 +.Sh STANDARDS +The +.Nm +utility is compliant with the +.St -p1003.1-2008 +specification. +.Pp +The arguments +.Ar skip1 +and +.Ar skip2 +are extensions to that specification. +.Sh HISTORY +A +.Nm +command appeared in +.At v1 . diff --git a/static/openbsd/man1/co.1 b/static/openbsd/man1/co.1 new file mode 100644 index 00000000..177287d6 --- /dev/null +++ b/static/openbsd/man1/co.1 @@ -0,0 +1,162 @@ +.\" $OpenBSD: co.1,v 1.29 2010/09/03 11:09:29 jmc Exp $ +.\" +.\" Copyright (c) 2005 Xavier Santolaria +.\" All rights reserved. +.\" +.\" Permission to use, copy, modify, and distribute this software for any +.\" purpose with or without fee is hereby granted, provided that the above +.\" copyright notice and this permission notice appear in all copies. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +.Dd $Mdocdate: September 3 2010 $ +.Dt CO 1 +.Os +.Sh NAME +.Nm co +.Nd check out RCS revisions +.Sh SYNOPSIS +.Nm +.Bk -words +.Op Fl TV +.Op Fl d Ns Ar date +.Op Fl f Ns Op Ar rev +.Op Fl I Ns Op Ar rev +.Op Fl k Ns Ar mode +.Op Fl l Ns Op Ar rev +.Op Fl M Ns Op Ar rev +.Op Fl p Ns Op Ar rev +.Op Fl q Ns Op Ar rev +.Op Fl r Ns Op Ar rev +.Op Fl s Ns Ar state +.Op Fl u Ns Op Ar rev +.Op Fl w Ns Op Ar user +.Op Fl x Ns Ar suffixes +.Op Fl z Ns Ar tz +.Ar +.Ek +.Sh DESCRIPTION +The +.Nm +program is used to check out revisions from RCS files. +.Pp +When a file is checked out, +a copy is taken from the RCS repository, +minus its RCS information, +and placed in the current working directory. +Files may be checked out as the most recent revision +or according to a specific revision, +using the +.Fl r +option. +.Pp +Files are checked out in one of two possible modes: +unlocked (the default) or locked (using the +.Fl l +option). +In unlocked mode, any user may check out the file for reading. +If changes are to be made to a file though, +it will have to be locked using the +.Fl l +option. +During this time, +no other users may check out the file whilst it is locked. +.Pp +.Nm +also supports +keyword substitution \(en +see the +.Xr rcs 1 +man page for more information. +.Pp +The following options are supported: +.Bl -tag -width Ds +.It Fl d Ns Ar date +Retrieve revision as of the latest revision no later than +.Ar date . +.It Fl f Ns Op Ar rev +Force the overwriting of the working file. +.It Fl I Ns Op Ar rev +Interactive mode. +.It Fl k Ns Ar mode +Specify the keyword substitution mode. +.It Fl l Ns Op Ar rev +The same as +.Fl r , +but also locks the revision. +.It Fl M Ns Op Ar rev +Set the modification time of the file to the date of the +retrieved revision. +.It Fl p Ns Op Ar rev +Print the latest revision no later than +.Ar rev +to standard output. +.It Fl q Ns Op Ar rev +Be quiet about reporting. +.It Fl r Ns Op Ar rev +Retrieve the latest revision no later than +.Ar rev . +.It Fl s Ns Ar state +Retrieve revision of the specified +.Ar state +only. +.It Fl T +Preserve the modification time of RCS files. +.It Fl u Ns Op Ar rev +The same as +.Fl r , +but also unlocks the retrieved revision if it was locked. +.It Fl V +Print RCS's version number. +.It Fl w Ns Op Ar user +Retrieve the latest revision which was checked in by the specified +.Ar user . +If the +.Ar user +argument is omitted, the login of the user issuing the command +is assumed. +.It Fl x Ns Ar suffixes +Specifies the suffixes for RCS files. +Suffixes should be separated by the +.Sq / +character. +.It Fl z Ns Ar tz +Specify the date output format in keyword substitution, and the +default time zone for +.Ar date +used in the +.Fl d +option. +.El +.Sh ENVIRONMENT +.Bl -tag -width RCSINIT +.It Ev RCSINIT +If set, this variable should contain a list of space-delimited options that +are prepended to the argument list. +.El +.Sh EXIT STATUS +.Ex -std co +.Sh EXAMPLES +Retrieve the latest revision of file +.Pa foo.c +and lock it for further editing: +.Pp +.Dl $ co -l foo.c +.Pp +Retrieve revision 1.5 of file +.Pa foo.c : +.Pp +.Dl $ co -r1.5 foo.c +.Sh SEE ALSO +.Xr ci 1 , +.Xr ident 1 , +.Xr rcs 1 , +.Xr rcsclean 1 , +.Xr rcsdiff 1 , +.Xr rcsmerge 1 , +.Xr rlog 1 diff --git a/static/openbsd/man1/col.1 b/static/openbsd/man1/col.1 new file mode 100644 index 00000000..cceebfec --- /dev/null +++ b/static/openbsd/man1/col.1 @@ -0,0 +1,141 @@ +.\" $OpenBSD: col.1,v 1.15 2020/02/08 01:09:57 jsg Exp $ +.\" $NetBSD: col.1,v 1.4 1995/03/26 05:25:52 glass Exp $ +.\" +.\" Copyright (c) 1990, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" Michael Rendell. +.\" +.\" 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. 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. +.\" +.\" @(#)col.1 8.1 (Berkeley) 6/29/93 +.\" +.Dd $Mdocdate: February 8 2020 $ +.Dt COL 1 +.Os +.Sh NAME +.Nm col +.Nd filter reverse line feeds and backspaces from input +.Sh SYNOPSIS +.Nm col +.Op Fl bfhx +.Op Fl l Ar num +.Sh DESCRIPTION +.Nm +filters out reverse (and half-reverse) line feeds so that the output is +in the correct order with only forward and half-forward line +feeds, and replaces whitespace characters with tabs where possible. +.Pp +.Nm +reads from the standard input and writes to the standard output. +.Pp +The options are as follows: +.Bl -tag -width Ds +.It Fl b +Do not output any backspaces, printing only the last character +written to each column position. +This can be useful in processing the output of +.Xr mandoc 1 . +.It Fl f +Forward half-line feeds are permitted +.Pf ( Dq fine +mode). +Normally characters printed on a half-line boundary are printed +on the following line. +.It Fl h +Compress spaces into tabs. +This is the default behavior. +.It Fl l Ar num +Buffer at least +.Ar num +lines in memory. +By default, 128 lines are buffered. +.It Fl x +Output multiple spaces instead of tabs. +.El +.Pp +In the input stream, +.Nm +understands both the escape sequences of the form escape-digit +mandated by +.St -susv2 +and the traditional +.Bx +format escape-control-character. +The control sequences for carriage motion and their ASCII values +are as follows: +.Pp +.Bl -tag -width "escape-backspace" -compact +.It escape\-bell +Reverse line feed (27 then 7). +.It escape\-digit\-7 +Reverse line feed (27 then 55). +.It escape\-backspace +Half reverse line feed (27 then 8). +.It escape\-digit\-8 +Half reverse line feed (27 then 56). +.It escape\-tab +Half forward line feed (27 then 9). +.It escape\-digit\-9 +Half forward line feed (27 then 57). +In +.Fl f +mode, this sequence may also occur in the output stream. +.It backspace +Moves back one column (8); ignored in the first column. +.It carriage return +(13) +.It newline +Forward line feed (10); also does carriage return. +.It shift in +Shift to normal character set (15). +.It shift out +Shift to alternate character set (14). +.It space +Moves forward one column (32). +.It tab +Moves forward to next tab stop (9). +.It vertical tab +Reverse line feed (11). +.El +.Pp +All unrecognized control characters and escape sequences are +discarded. +.Pp +.Nm +keeps track of the character set as characters are read and makes +sure the character set is correct when they are output. +.Pp +If the input attempts to back up to the last flushed line, +.Nm +will display a warning message. +.Sh SEE ALSO +.Xr expand 1 +.Sh HISTORY +A +.Nm +command appeared in +.At v5 . diff --git a/static/openbsd/man1/colrm.1 b/static/openbsd/man1/colrm.1 new file mode 100644 index 00000000..7179727f --- /dev/null +++ b/static/openbsd/man1/colrm.1 @@ -0,0 +1,127 @@ +.\" $OpenBSD: colrm.1,v 1.10 2016/10/24 13:46:58 schwarze Exp $ +.\" $NetBSD: colrm.1,v 1.3 1995/03/26 09:04:01 glass Exp $ +.\" +.\" Copyright (c) 1980, 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. 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. +.\" +.\" @(#)colrm.1 8.1 (Berkeley) 6/6/93 +.\" +.Dd $Mdocdate: October 24 2016 $ +.Dt COLRM 1 +.Os +.Sh NAME +.Nm colrm +.Nd remove columns from a file +.Sh SYNOPSIS +.Nm colrm +.Op Ar start Op Ar stop +.Sh DESCRIPTION +.Nm +removes selected columns from the lines of a file. +Input is read from the standard input. +Output is written to the standard output. +.Pp +If only the +.Ar start +column is specified, columns numbered less than the +.Ar start +column will be written. +If both +.Ar start +and +.Ar stop +columns are specified, columns numbered less than the +.Ar start +column +or greater than the +.Ar stop +column will be written. +Column numbering starts with one, not zero. +.Pp +Each character occupies the number of columns defined by +.Xr wcwidth 3 . +Zero-width characters belong to the previous column rather +than to the following column. +If deletion of half of a double-width character is requested, +its remaining half is replaced by a blank character. +Non-printable characters are treated as if they had width 1. +Each invalid byte is regarded as a non-printable character. +.Pp +Tab characters increment the input column count to the next multiple +of eight. +If they intersect or follow a deletion, they are expanded to blank +characters such that the original alignment is preserved. +.Pp +Backspace characters decrement the column count by the width of the +previous character. +If they follow a character that is completely or partially deleted, +they are deleted together with that character. +If they follow a character that is partially deleted, +they also suppress printing of the replacement blank character. +.Pp +For compatibility with +.St -p1003.1-2008 +.Xr fold 1 , +if a double-width character is followed by two backspace characters +instead of the usual one, both are regarded as belonging to that +character, and the second one does not decrement the column count. +.Sh ENVIRONMENT +.Bl -tag -width LC_CTYPE +.It Ev LC_CTYPE +The character encoding +.Xr locale 1 . +It decides which byte sequences form characters +and what their display width is. +If unset or set to +.Qq C , +.Qq POSIX , +or an unsupported value, each byte except tab and backspace is treated +as a character of display width 1. +.El +.Sh SEE ALSO +.Xr awk 1 , +.Xr column 1 , +.Xr cut 1 , +.Xr paste 1 +.Sh HISTORY +The +.Nm +utility first appeared in +.Bx 1 . +.Sh AUTHORS +.An Jeff Schriebman +wrote the original version of +.Nm +in November 1974. +.Sh BUGS +If two characters of different widths are followed by two backspace +characters in a row, the column count is decremented twice by the +width of the second character rather than by the sum of both widths. +This is hardly a practical problem because not even backspace +encoding in +.Xr roff 7 +style uses such double-backspace sequences. diff --git a/static/openbsd/man1/column.1 b/static/openbsd/man1/column.1 new file mode 100644 index 00000000..9c88f10f --- /dev/null +++ b/static/openbsd/man1/column.1 @@ -0,0 +1,116 @@ +.\" $OpenBSD: column.1,v 1.18 2016/10/24 13:53:05 schwarze Exp $ +.\" $NetBSD: column.1,v 1.3 1995/03/26 09:08:28 glass Exp $ +.\" +.\" Copyright (c) 1989, 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. 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. +.\" +.\" @(#)column.1 8.1 (Berkeley) 6/6/93 +.\" +.Dd $Mdocdate: October 24 2016 $ +.Dt COLUMN 1 +.Os +.Sh NAME +.Nm column +.Nd columnate lists +.Sh SYNOPSIS +.Nm column +.Op Fl tx +.Op Fl c Ar columns +.Op Fl s Ar sep +.Op Ar +.Sh DESCRIPTION +The +.Nm +utility formats its input into multiple columns. +Each input line provides the text for one output cell. +Columns are filled before rows. +.Pp +The column width is determined by the longest input line rounded +up to the nearest tabstop; tabstops are assumed to be at multiples +of eight. +Output uses tab characters to advance to the next column. +The number of columns is chosen to fill the terminal width. +.Pp +Input is taken from +.Ar file +operands or, by default, from the standard input. +Empty lines and lines containing only whitespace are ignored. +.Pp +The options are as follows: +.Bl -tag -width Ds +.It Fl c Ar columns +Output is formatted for a display +.Ar columns +wide. +.It Fl s Ar sep +Specify a set of characters to delimit columns for the +.Fl t +option. +It defaults to space and tab. +.It Fl t +Table mode. +Each input line provides the text for one output row. +It is split into cells using the +.Fl s +option. +Leading, trailing, and multiple adjacent delimiters are ignored. +Each column is as wide as the widest cell in it. +Columns are separated by two spaces. +.It Fl x +Fill rows before filling columns. +.El +.Sh ENVIRONMENT +.Bl -tag -width LC_CTYPE +.It Ev COLUMNS +If set to a positive integer, +output is formatted to the given width in display columns. +Otherwise, +.Nm +defaults to the terminal width, or 80 columns if the output is not a terminal. +.It Ev LC_CTYPE +The character encoding +.Xr locale 1 . +It decides which byte sequences form characters, what their display +width is, and which characters are whitespace. +If unset or set to +.Qq C , +.Qq POSIX , +or an unsupported value, each byte except the tab is treated as a +character of display width 1. +.El +.Sh EXIT STATUS +.Ex -std column +.Sh SEE ALSO +.Xr colrm 1 , +.Xr fmt 1 , +.Xr paste 1 , +.Xr rs 1 +.Sh HISTORY +The +.Nm +command appeared in +.Bx 4.3 Reno . diff --git a/static/openbsd/man1/comm.1 b/static/openbsd/man1/comm.1 new file mode 100644 index 00000000..2e9c5727 --- /dev/null +++ b/static/openbsd/man1/comm.1 @@ -0,0 +1,114 @@ +.\" $OpenBSD: comm.1,v 1.15 2010/09/03 11:09:28 jmc Exp $ +.\" $NetBSD: comm.1,v 1.4 1995/03/26 09:25:50 glass Exp $ +.\" +.\" Copyright (c) 1989, 1990, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" the Institute of Electrical and Electronics Engineers, Inc. +.\" +.\" 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. 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. +.\" +.\" @(#)comm.1 8.1 (Berkeley) 6/6/93 +.\" +.Dd $Mdocdate: September 3 2010 $ +.Dt COMM 1 +.Os +.Sh NAME +.Nm comm +.Nd select or reject lines common to two files +.Sh SYNOPSIS +.Nm comm +.Op Fl 123f +.Ar file1 file2 +.Sh DESCRIPTION +The +.Nm +utility reads +.Ar file1 +and +.Ar file2 , +which should be +sorted lexically, and produces three text +columns as output: lines only in +.Ar file1 ; +lines only in +.Ar file2 ; +and lines in both files. +.Pp +The filename +.Sq - +means the standard input. +.Pp +The options are as follows: +.Bl -tag -width Ds +.It Fl 1 +Suppress printing of column 1. +.It Fl 2 +Suppress printing of column 2. +.It Fl 3 +Suppress printing of column 3. +.It Fl f +Fold case in line comparisons. +.El +.Pp +Each column will have a number of tab characters prepended to it +equal to the number of lower numbered columns that are being printed. +For example, if column number two is being suppressed, lines printed +in column number one will not have any tabs preceding them, and lines +printed in column number three will have one. +.Pp +.Nm +assumes that the files are lexically sorted; all characters +participate in line comparisons. +.\" .Sh ENVIRONMENT +.\" .Bl -tag -width indent +.\" .It Ev LANG +.\" .It Ev LC_ALL +.\" .It Ev LC_CTYPE +.\" .It Ev LC_COLLATE +.\" .It Ev LC_MESSAGES +.\" .El +.Sh EXIT STATUS +.Ex -std comm +.Sh SEE ALSO +.Xr cmp 1 , +.Xr diff 1 , +.Xr sort 1 , +.Xr uniq 1 +.Sh STANDARDS +The +.Nm +utility conforms to +.St -p1003.1-2008 . +.Pp +The flag +.Op Fl f +is an extension to that specification. +.Sh HISTORY +A +.Nm +command appeared in +.At v4 . diff --git a/static/openbsd/man1/compress.1 b/static/openbsd/man1/compress.1 new file mode 100644 index 00000000..2a90a53b --- /dev/null +++ b/static/openbsd/man1/compress.1 @@ -0,0 +1,386 @@ +.\" $OpenBSD: compress.1,v 1.49 2022/10/22 14:41:27 millert Exp $ +.\" $NetBSD: compress.1,v 1.5 1995/03/26 09:44:34 glass Exp $ +.\" +.\" Copyright (c) 1986, 1990, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" James A. Woods, derived from original work by Spencer Thomas +.\" and Joseph Orost. +.\" +.\" 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. 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. +.\" +.\" @(#)compress.1 8.2 (Berkeley) 4/18/94 +.\" +.Dd $Mdocdate: October 22 2022 $ +.Dt COMPRESS 1 +.Os +.Sh NAME +.Nm compress , +.Nm uncompress , +.Nm zcat +.Nd compress and expand data (compress mode) +.Sh SYNOPSIS +.Nm compress +.Op Fl 123456789cdfghlNnOqrtv +.Op Fl b Ar bits +.Op Fl o Ar filename +.Op Fl S Ar suffix +.Op Ar +.Nm uncompress +.Op Fl cfhlNnqrtv +.Op Fl o Ar filename +.Op Ar +.Nm zcat +.Op Fl fghqr +.Op Ar +.Sh DESCRIPTION +The +.Nm +utility +reduces the size of the named files using adaptive Lempel-Ziv coding, +in compress mode. +If invoked as +.Nm compress Fl g , +the deflate mode of compression is chosen; +see +.Xr gzip 1 +for more information. +Each file is renamed to the same name plus the extension +.Dq .Z . +As many of the modification time, access time, file flags, file mode, +user ID, and group ID as allowed by permissions are retained in the +new file. +If compression would not reduce the size of a file, +the file is ignored (unless +.Fl f +is used). +.Pp +The +.Nm uncompress +utility restores compressed files to their original form, renaming the +files by removing the extension (or by using the stored name if the +.Fl N +flag is specified). +It has the ability to restore files compressed by +.Nm , +.Xr gzip 1 , +and +.Xr zip 1 , +recognising the following extensions: +.Dq .Z , +.Dq -Z , +.Dq _Z , +.Dq .gz , +.Dq -gz , +.Dq _gz , +.Dq .tgz , +.Dq -tgz , +.Dq _tgz , +.Dq .taz , +.Dq -taz , +and +.Dq _taz . +The +.Fl S +option can be used to support other file extensions. +Extensions ending in +.Dq tgz +and +.Dq taz +are not removed when decompressing, instead they are converted to +.Dq tar . +Files in zip format are only supported if they contain a single member +either compressed with the deflate scheme or stored uncompressed. +.Pp +The +.Nm zcat +command is equivalent in functionality to +.Nm uncompress +.Fl c . +.Pp +If renaming the files would cause files to be overwritten and the standard +input device is a terminal, the user is prompted (on the standard error +output) for confirmation. +If prompting is not possible or confirmation is not received, the files +are not overwritten. +.Pp +If no files are specified, the standard input is compressed or uncompressed +to the standard output. +If either the input or output files are not regular files, the checks for +reduction in size and file overwriting are not performed, the input file is +not removed, and the attributes of the input file are not retained. +.Pp +By default, when compressing using the deflate scheme +.Pf ( Fl g ) , +the original file name and time stamp are stored in the compressed file. +When uncompressing, this information is not used. +Instead, the uncompressed file inherits the time stamp of the +compressed version and the uncompressed file name is generated from +the name of the compressed file as described above. +These defaults may be overridden by the +.Fl N +and +.Fl n +flags, described below. +.Pp +The options are as follows: +.Bl -tag -width Ds +.It Fl 1...9 +Use the deflate scheme, with compression factor of +.Fl 1 +to +.Fl 9 . +Compression factor +.Fl 1 +is the fastest, but provides a poorer level of compression. +Compression factor +.Fl 9 +provides the best level of compression, but is relatively slow. +The default is +.Fl 6 . +This option implies +.Fl g . +.It Fl b Ar bits +Specify the +.Ar bits +code limit +.Pq see below . +.It Fl c +Compressed or uncompressed output is written to the standard output. +No files are modified (force +.Nm zcat +mode). +.It Fl d +Decompress the source files instead of compressing them (force +.Nm uncompress +mode). +.It Fl f +Force compression of +.Ar file , +even if it is not actually reduced in size. +Additionally, files are overwritten without prompting for confirmation. +If the input data is not in a format recognized by +.Nm +and if the option +.Fl c +is also given, copy the input data without change +to the standard output: let +.Nm zcat +behave as +.Xr cat 1 . +.It Fl g +Use the deflate scheme, which reportedly provides better compression rates +(force +.Xr gzip 1 +mode). +.It Fl h +Print a short help message. +.It Fl l +List information for the specified compressed files. +The following information is listed: +.Bl -tag -width "compression ratio" +.It compressed size +Size of the compressed file. +.It uncompressed size +Size of the file when uncompressed. +.It compression ratio +Ratio of the difference between the compressed and uncompressed +sizes to the uncompressed size. +.It uncompressed name +Name the file will be saved as when uncompressing. +.El +.Pp +If the +.Fl v +option is specified, the following additional information is printed: +.Bl -tag -width "compression method" +.It compression method +Name of the method used to compress the file. +.It crc +32-bit CRC +.Pq cyclic redundancy code +of the uncompressed file. +.It "time stamp" +Date and time corresponding to the last data modification time +(mtime) of the compressed file (if the +.Fl n +option is specified, the time stamp stored in the compressed file +is printed instead). +.El +.It Fl N +When uncompressing or listing, use the time stamp and file name stored +in the compressed file, if any, for the uncompressed version. +This information is only available when the deflate scheme +.Pf ( Fl g ) +is used. +.It Fl n +When compressing, do not store the original file name and time stamp +in the header of the compressed file. +.It Fl O +Use compress mode +(the default). +.It Fl o Ar filename +Set the output file name. +.It Fl q +Be quiet: suppress all messages. +.It Fl r +Recursive mode: +.Nm +will descend into specified directories. +.It Fl S Ar suffix +When compressing, use the specified +.Ar suffix +as the extension when creating output files. +When uncompressing, recognize file names with the specified +.Ar suffix +as compressed files. +.It Fl t +Test the integrity of each file leaving any files intact. +.It Fl v +Print the percentage reduction of each file and other information. +.El +.Pp +.Nm +uses a modified Lempel-Ziv algorithm +.Pq LZW . +Common substrings in the file are first replaced by 9-bit codes 257 and up. +When code 512 is reached, the algorithm switches to 10-bit codes and +continues to use more bits until the +limit specified by the +.Fl b +flag is reached. +.Ar bits +must be between 9 and 16 +.Pq the default is 16 . +.Pp +After the +.Ar bits +limit is reached, +.Nm +periodically checks the compression ratio. +If it is increasing, +.Nm +continues to use the existing code dictionary. +However, if the compression ratio decreases, +.Nm +discards the table of substrings and rebuilds it from scratch. +This allows the algorithm to adapt to the next +.Dq block +of the file. +.Pp +The +.Fl b +flag is omitted for +.Nm uncompress +since the +.Ar bits +parameter specified during compression +is encoded within the output, along with +a magic number to ensure that neither decompression of random data nor +recompression of compressed data is attempted. +.Pp +The amount of compression obtained depends on the size of the +input, the number of +.Ar bits +per code, and the distribution of common substrings. +Typically, text such as source code or English is reduced by 50 \- 60% using +.Nm . +Compression is generally much better than that achieved by Huffman +coding (as used in the historical command pack), or adaptive Huffman +coding (as used in the historical command compact), and takes less +time to compute. +.Sh EXIT STATUS +The +.Nm compress +utility exits with one of the following values: +.Pp +.Bl -tag -width Ds -offset indent -compact +.It 0 +Success. +.It 1 +An error occurred. +.It 2 +At least one of the specified files was not compressed since +.Fl f +was not specified and compression would have resulted in a size +increase. +.It \*(Gt2 +An error occurred. +.El +.Pp +.Ex -std uncompress zcat +.Sh SEE ALSO +.Xr gzexe 1 , +.Xr gzip 1 , +.Xr zdiff 1 , +.Xr zforce 1 , +.Xr zmore 1 , +.Xr znew 1 , +.Xr compress 3 +.Rs +.%A Welch, Terry A. +.%D June, 1984 +.%T "A Technique for High Performance Data Compression" +.%J "IEEE Computer" +.%V 17:6 +.%P pp. 8\-19 +.Re +.Sh STANDARDS +The +.Nm , +.Nm uncompress , +and +.Nm zcat +utilities are compliant with the +X/Open System Interfaces option of the +.St -p1003.1-2008 +specification. +.Pp +The +.Nm +flags +.Op Fl 123456789dghlNnOoqrSt , +.Nm uncompress +flags +.Op Fl hlNnoqrt , +and the +.Nm zcat +flags +.Op Fl fghqr +are extensions to that specification. +.Pp +.St -p1003.1-2008 +specifies a maximum bits limit +.Pq Fl b +of 14 to +.Qq achieve portability to all systems . +.Sh HISTORY +The +.Nm +command appeared in +.Bx 4.3 . +Deflate compression support was added in +.Ox 2.1 . diff --git a/static/openbsd/man1/cp.1 b/static/openbsd/man1/cp.1 new file mode 100644 index 00000000..367301ff --- /dev/null +++ b/static/openbsd/man1/cp.1 @@ -0,0 +1,260 @@ +.\" $OpenBSD: cp.1,v 1.41 2019/09/02 21:18:41 deraadt Exp $ +.\" $NetBSD: cp.1,v 1.9 1995/07/25 19:36:45 jtc Exp $ +.\" +.\" Copyright (c) 1989, 1990, 1993, 1994 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" the Institute of Electrical and Electronics Engineers, Inc. +.\" +.\" 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. 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. +.\" +.\" @(#)cp.1 8.3 (Berkeley) 4/18/94 +.\" +.Dd $Mdocdate: September 2 2019 $ +.Dt CP 1 +.Os +.Sh NAME +.Nm cp +.Nd copy files +.Sh SYNOPSIS +.Nm cp +.Op Fl afipv +.Oo +.Fl R +.Op Fl H | L | P +.Oc +.Ar source target +.Nm cp +.Op Fl afipv +.Oo +.Fl R +.Op Fl H | L | P +.Oc +.Ar source ... directory +.Sh DESCRIPTION +In the first synopsis form, the +.Nm +utility copies the contents of the +.Ar source +file to the +.Ar target +file. +In the second synopsis form, +the contents of each named +.Ar source +file are copied to the destination +.Ar directory . +The names of the files themselves are not changed. +If +.Nm +detects an attempt to copy a file to itself, the copy will fail. +.Pp +The options are as follows: +.Bl -tag -width Ds +.It Fl a +Archive mode. +Same as +.Fl RpP . +.It Fl f +For each existing destination pathname, remove it and +create a new file, without prompting for confirmation, +regardless of its permissions. +The +.Fl f +option overrides any previous +.Fl i +options. +.It Fl H +If the +.Fl R +option is also specified, symbolic links on the command line are followed. +Symbolic links encountered in the tree traversal are not followed. +.It Fl i +Write a prompt to the standard error output before copying a file +that would overwrite an existing file. +If the response from the standard input begins with the character +.Sq Li y , +the file copy is attempted. +The +.Fl i +option overrides any previous +.Fl f +options. +.It Fl L +If the +.Fl R +option is also specified, all symbolic links are followed. +.It Fl P +If the +.Fl R +option is also specified, no symbolic links are followed. +.It Fl p +Preserve in the copy as many of the modification time, access time, +file flags, file mode, user ID, and group ID as allowed by permissions. +.Pp +If the user ID and group ID cannot be preserved, no error message +is displayed and the exit value is not altered. +.Pp +If the source file has its set-user-ID bit on and the user ID cannot +be preserved, the set-user-ID bit is not preserved +in the copy's permissions. +If the source file has its set-group-ID bit on and the group ID cannot +be preserved, the set-group-ID bit is not preserved +in the copy's permissions. +If the source file has both its set-user-ID and set-group-ID bits on, +and either the user ID or group ID cannot be preserved, neither +the set-user-ID nor set-group-ID bits are preserved in the copy's +permissions. +.It Fl R +If +.Ar source +designates a directory, +.Nm +copies the directory and the entire subtree connected at that point. +Created directories have the same mode as the corresponding source +directory, unmodified by the process's umask. +.Pp +This option also causes symbolic links to be copied, rather than +followed, and +special files to be created, rather than being copied as normal files. +However, +.Nm +copies hard linked files as separate files. +To preserve hard links, +use a utility such as +.Xr pax 1 +or +.Xr tar 1 +instead. +.It Fl v +Display the source and destination after each copy. +.El +.Pp +For each destination file that already exists, its contents are +overwritten if permissions allow, but its mode, user ID, and group +ID are unchanged. +.Pp +In the second synopsis form, +the destination specified by the +.Ar directory +operand must exist unless there is only one named +.Ar source +which is a directory and the +.Fl R +flag is specified. +.Pp +If the destination file does not exist, the mode of the source file is +used as modified by the file mode creation mask +.Pf ( Ic umask , +see +.Xr csh 1 ) . +If the source file has its set-user-ID bit on, that bit is removed +unless both the source file and the destination file are owned by the +same user. +If the source file has its set-group-ID bit on, that bit is removed +unless both the source file and the destination file are in the same +group and the user is a member of that group. +If both the set-user-ID and set-group-ID bits are set, all of the above +conditions must be fulfilled or both bits are removed. +.Pp +Appropriate permissions are required for file creation or overwriting. +.Pp +When a file containing large blocks of zero-valued bytes is copied, +.Nm +will attempt to create a sparse file. +.Pp +Symbolic links are always followed unless the +.Fl R +flag is set, in which case symbolic links are not followed, by default. +The +.Fl H +or +.Fl L +flags (in conjunction with the +.Fl R +flag) cause symbolic links to be followed as described above. +The +.Fl H , +.Fl L , +and +.Fl P +options are ignored unless the +.Fl R +option is specified. +In addition, these options override each other and the +command's actions are determined by the last one specified. +.Sh EXIT STATUS +.Ex -std cp +.Sh EXAMPLES +Make a copy of file +.Pa foo +named +.Pa bar : +.Pp +.Dl $ cp foo bar +.Pp +Copy a group of files to the +.Pa /tmp +directory: +.Pp +.Dl $ cp *.txt /tmp +.Pp +Copy the directory +.Pa junk +and all of its contents (including any subdirectories) to the +.Pa /tmp +directory: +.Pp +.Dl $ cp -R junk /tmp +.Sh SEE ALSO +.Xr mv 1 , +.Xr umask 2 , +.Xr fts_open 3 , +.Xr symlink 7 +.Sh STANDARDS +The +.Nm +utility is compliant with the +.St -p1003.1-2008 +specification. +.Pp +The flags +.Op Fl av +are extensions to that specification. +.Pp +Historic versions of the +.Nm +utility had an +.Fl r +option. +This implementation supports that option; however, its use is strongly +discouraged, as it does not correctly copy special files, symbolic links +or FIFOs. +.Sh HISTORY +A +.Nm +command appeared in +.At v1 . diff --git a/static/openbsd/man1/cpio.1 b/static/openbsd/man1/cpio.1 new file mode 100644 index 00000000..341afe1e --- /dev/null +++ b/static/openbsd/man1/cpio.1 @@ -0,0 +1,315 @@ +.\" $OpenBSD: cpio.1,v 1.37 2023/12/09 23:00:11 jca Exp $ +.\" +.\" Copyright (c) 1997 SigmaSoft, Th. Lockert +.\" 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. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. +.\" +.Dd $Mdocdate: December 9 2023 $ +.Dt CPIO 1 +.Os +.Sh NAME +.Nm cpio +.Nd copy file archives in and out +.Sh SYNOPSIS +.Nm cpio +.Fl o +.Op Fl AaBcjLvZz +.Op Fl C Ar bytes +.Op Fl F Ar archive +.Op Fl H Ar format +.Op Fl O Ar archive +.No \*(Lt Ar name-list +.Op \*(Gt Ar archive +.Nm cpio +.Fl i +.Op Fl 6BbcdfjmrSstuvZz +.Op Fl C Ar bytes +.Op Fl E Ar file +.Op Fl F Ar archive +.Op Fl H Ar format +.Op Fl I Ar archive +.Op Ar pattern ... +.Op \*(Lt Ar archive +.Nm cpio +.Fl p +.Op Fl adLlmuv +.Ar destination-directory +.No \*(Lt Ar name-list +.Sh DESCRIPTION +The +.Nm +command copies files to and from a +.Nm +archive. +.Pp +The options are as follows: +.Bl -tag -width Ds +.It Fl o +Create an archive. +Reads the list of files to store in the +archive from standard input, and writes the archive on standard +output. +.Bl -tag -width Ds +.It Fl A +Append to the specified archive. +.It Fl a +Reset the access times on files that have been copied to the +archive. +.It Fl B +Set block size of output to 5120 bytes. +.It Fl C Ar bytes +Set the block size of output to +.Ar bytes . +.It Fl c +Use ASCII format for +.Nm +header for portability. +.It Fl F Ar archive +Use the specified file as the input for the archive. +.It Fl H Ar format +Write the archive in the specified format. +Recognized formats are: +.Pp +.Bl -tag -width sv4cpio -compact +.It Ar bcpio +Old binary +.Nm +format. +.It Ar cpio +Old octal character +.Nm +format. +.It Ar pax +POSIX pax format. +.It Ar sv4cpio +SVR4 hex +.Nm +format. +.It Ar tar +Old tar format. +.It Ar ustar +POSIX ustar format. +.El +.It Fl j +Compress archive using the bzip2 format. +The bzip2 utility must be installed separately. +.It Fl L +Follow symbolic links. +.It Fl O Ar archive +Use the specified file name as the archive to write to. +.It Fl v +Be verbose about operations. +List filenames as they are written to the archive. +.It Fl Z +Compress archive using +.Xr compress 1 +format. +.It Fl z +Compress archive using +.Xr gzip 1 +format. +.El +.It Fl i +Restore files from an archive. +Reads the archive file from +standard input and extracts files matching the +.Ar patterns +that were specified on the command line. +.Bl -tag -width Ds +.It Fl 6 +Process old-style +.Nm +format archives. +.It Fl B +Set the block size of the archive being read to 5120 bytes. +.It Fl b +Do byte and word swapping after reading in data from the +archive, for restoring archives created on systems with +a different byte order. +.It Fl C Ar bytes +Read archive written with a block size of +.Ar bytes . +.It Fl c +Expect the archive headers to be in ASCII format. +.It Fl d +Create any intermediate directories as needed during +restore. +.It Fl E Ar file +Read list of file name patterns to extract or list from +.Ar file . +.It Fl F Ar archive , Fl I Ar archive +Use the specified file as the input for the archive. +.It Fl f +Restore all files except those matching the +.Ar patterns +given on the command line. +.It Fl H Ar format +Read an archive of the specified format. +Recognized formats are: +.Pp +.Bl -tag -width sv4cpio -compact +.It Ar bcpio +Old binary +.Nm +format. +.It Ar cpio +Old octal character +.Nm +format. +.It Ar pax +POSIX pax format. +.It Ar sv4cpio +SVR4 hex +.Nm +format. +.It Ar tar +Old tar format. +.It Ar ustar +POSIX ustar format. +.El +.It Fl j +Uncompress archive using the bzip2 format. +The bzip2 utility must be installed separately. +.It Fl m +Restore modification times on files. +.It Fl r +Rename restored files interactively. +.It Fl S +Swap words after reading data from the archive. +.It Fl s +Swap bytes after reading data from the archive. +.It Fl t +Only list the contents of the archive, no files or +directories will be created. +.It Fl u +Overwrite files even when the file in the archive is +older than the one that will be overwritten. +.It Fl v +Be verbose about operations. +List filenames as they are copied in from the archive. +.It Fl Z +Uncompress archive using +.Xr compress 1 +format. +.It Fl z +Uncompress archive using +.Xr gzip 1 +format. +.El +.It Fl p +Copy files from one location to another in a single pass. +The list of files to copy are read from standard input and +written out to a directory relative to the specified +.Ar directory +argument. +.Bl -tag -width Ds +.It Fl a +Reset the access times on files that have been copied. +.It Fl d +Create any intermediate directories as needed to write +the files at the new location. +.It Fl L +Follow symbolic links. +.It Fl l +When possible, link files rather than creating an +extra copy. +.It Fl m +Restore modification times on files. +.It Fl u +Overwrite files even when the original file being copied is +older than the one that will be overwritten. +.It Fl v +Be verbose about operations. +List filenames as they are copied. +.El +.El +.Sh ENVIRONMENT +.Bl -tag -width Ds +.It Ev TMPDIR +Path in which to store temporary files. +.El +.Sh EXIT STATUS +The +.Nm +utility exits with one of the following values: +.Pp +.Bl -tag -width Ds -offset indent -compact +.It 0 +All files were processed successfully. +.It 1 +An error occurred. +.El +.Sh DIAGNOSTICS +Whenever +.Nm +cannot create a file or a link when extracting an archive or cannot +find a file while writing an archive, or cannot preserve the user +ID, group ID, file mode, or access and modification times when the +.Fl p +option is specified, a diagnostic message is written to standard +error and a non-zero exit value will be returned, but processing +will continue. +In the case where +.Nm +cannot create a link to a file, +.Nm +will not create a second copy of the file. +.Pp +If the extraction of a file from an archive is prematurely terminated +by a signal or error, +.Nm +may have only partially extracted the file the user wanted. +Additionally, the file modes of extracted files and directories may +have incorrect file bits, and the modification and access times may +be wrong. +.Pp +If the creation of an archive is prematurely terminated by a signal +or error, +.Nm +may have only partially created the archive, which may violate the +specific archive format specification. +.Sh SEE ALSO +.Xr pax 1 , +.Xr tar 1 +.Sh AUTHORS +.An Keith Muller +at the University of California, San Diego. +.Sh CAVEATS +Different file formats have different maximum file sizes. +It is recommended that a format such as cpio or ustar +be used for larger files. +.Bl -column "File format" "Maximum file size" -offset indent +.It Sy "File format" Ta Sy "Maximum file size" +.It bcpio Ta "4 Gigabytes" +.It sv4cpio Ta "4 Gigabytes" +.It cpio Ta "8 Gigabytes" +.\" XXX should be "unlimited" +.It pax Ta "8 Gigabytes" +.It tar Ta "8 Gigabytes" +.It ustar Ta "8 Gigabytes" +.El +.Sh BUGS +The +.Fl s +and +.Fl S +options are currently not implemented. diff --git a/static/openbsd/man1/cpp.1 b/static/openbsd/man1/cpp.1 new file mode 100644 index 00000000..9abc9fda --- /dev/null +++ b/static/openbsd/man1/cpp.1 @@ -0,0 +1,934 @@ +.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14 +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sh \" Subsection heading +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. | will give a +.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to +.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' +.\" expand to `' in nroff, nothing in troff, for use with C<>. +.tr \(*W-|\(bv\*(Tr +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.if \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.\" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.hy 0 +.if n .na +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "CPP 1" +.TH CPP 1 "2007-07-19" "gcc-4.2.1" "GNU" +.SH "NAME" +cpp \- The C Preprocessor +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +cpp [\fB\-D\fR\fImacro\fR[=\fIdefn\fR]...] [\fB\-U\fR\fImacro\fR] + [\fB\-I\fR\fIdir\fR...] [\fB\-iquote\fR\fIdir\fR...] + [\fB\-W\fR\fIwarn\fR...] + [\fB\-M\fR|\fB\-MM\fR] [\fB\-MG\fR] [\fB\-MF\fR \fIfilename\fR] + [\fB\-MP\fR] [\fB\-MQ\fR \fItarget\fR...] + [\fB\-MT\fR \fItarget\fR...] + [\fB\-P\fR] [\fB\-fno\-working\-directory\fR] + [\fB\-x\fR \fIlanguage\fR] [\fB\-std=\fR\fIstandard\fR] + \fIinfile\fR \fIoutfile\fR +.PP +Only the most useful options are listed here; see below for the remainder. +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +The C preprocessor, often known as \fIcpp\fR, is a \fImacro processor\fR +that is used automatically by the C compiler to transform your program +before compilation. It is called a macro processor because it allows +you to define \fImacros\fR, which are brief abbreviations for longer +constructs. +.PP +The C preprocessor is intended to be used only with C, \*(C+, and +Objective-C source code. In the past, it has been abused as a general +text processor. It will choke on input which does not obey C's lexical +rules. For example, apostrophes will be interpreted as the beginning of +character constants, and cause errors. Also, you cannot rely on it +preserving characteristics of the input which are not significant to +C\-family languages. If a Makefile is preprocessed, all the hard tabs +will be removed, and the Makefile will not work. +.PP +Having said that, you can often get away with using cpp on things which +are not C. Other Algol-ish programming languages are often safe +(Pascal, Ada, etc.) So is assembly, with caution. \fB\-traditional\-cpp\fR +mode preserves more white space, and is otherwise more permissive. Many +of the problems can be avoided by writing C or \*(C+ style comments +instead of native language comments, and keeping macros simple. +.PP +Wherever possible, you should use a preprocessor geared to the language +you are writing in. Modern versions of the \s-1GNU\s0 assembler have macro +facilities. Most high level programming languages have their own +conditional compilation and inclusion mechanism. If all else fails, +try a true general text processor, such as \s-1GNU\s0 M4. +.PP +C preprocessors vary in some details. This manual discusses the \s-1GNU\s0 C +preprocessor, which provides a small superset of the features of \s-1ISO\s0 +Standard C. In its default mode, the \s-1GNU\s0 C preprocessor does not do a +few things required by the standard. These are features which are +rarely, if ever, used, and may cause surprising changes to the meaning +of a program which does not expect them. To get strict \s-1ISO\s0 Standard C, +you should use the \fB\-std=c89\fR or \fB\-std=c99\fR options, depending +on which version of the standard you want. To get all the mandatory +diagnostics, you must also use \fB\-pedantic\fR. +.PP +This manual describes the behavior of the \s-1ISO\s0 preprocessor. To +minimize gratuitous differences, where the \s-1ISO\s0 preprocessor's +behavior does not conflict with traditional semantics, the +traditional preprocessor should behave the same way. The various +differences that do exist are detailed in the section \fBTraditional +Mode\fR. +.PP +For clarity, unless noted otherwise, references to \fB\s-1CPP\s0\fR in this +manual refer to \s-1GNU\s0 \s-1CPP\s0. +.SH "OPTIONS" +.IX Header "OPTIONS" +The C preprocessor expects two file names as arguments, \fIinfile\fR and +\&\fIoutfile\fR. The preprocessor reads \fIinfile\fR together with any +other files it specifies with \fB#include\fR. All the output generated +by the combined input files is written in \fIoutfile\fR. +.PP +Either \fIinfile\fR or \fIoutfile\fR may be \fB\-\fR, which as +\&\fIinfile\fR means to read from standard input and as \fIoutfile\fR +means to write to standard output. Also, if either file is omitted, it +means the same as if \fB\-\fR had been specified for that file. +.PP +Unless otherwise noted, or the option ends in \fB=\fR, all options +which take an argument may have that argument appear either immediately +after the option, or with a space between option and argument: +\&\fB\-Ifoo\fR and \fB\-I foo\fR have the same effect. +.PP +Many options have multi-letter names; therefore multiple single-letter +options may \fInot\fR be grouped: \fB\-dM\fR is very different from +\&\fB\-d\ \-M\fR. +.IP "\fB\-D\fR \fIname\fR" 4 +.IX Item "-D name" +Predefine \fIname\fR as a macro, with definition \f(CW1\fR. +.IP "\fB\-D\fR \fIname\fR\fB=\fR\fIdefinition\fR" 4 +.IX Item "-D name=definition" +The contents of \fIdefinition\fR are tokenized and processed as if +they appeared during translation phase three in a \fB#define\fR +directive. In particular, the definition will be truncated by +embedded newline characters. +.Sp +If you are invoking the preprocessor from a shell or shell-like +program you may need to use the shell's quoting syntax to protect +characters such as spaces that have a meaning in the shell syntax. +.Sp +If you wish to define a function-like macro on the command line, write +its argument list with surrounding parentheses before the equals sign +(if any). Parentheses are meaningful to most shells, so you will need +to quote the option. With \fBsh\fR and \fBcsh\fR, +\&\fB\-D'\fR\fIname\fR\fB(\fR\fIargs...\fR\fB)=\fR\fIdefinition\fR\fB'\fR works. +.Sp +\&\fB\-D\fR and \fB\-U\fR options are processed in the order they +are given on the command line. All \fB\-imacros\fR \fIfile\fR and +\&\fB\-include\fR \fIfile\fR options are processed after all +\&\fB\-D\fR and \fB\-U\fR options. +.IP "\fB\-U\fR \fIname\fR" 4 +.IX Item "-U name" +Cancel any previous definition of \fIname\fR, either built in or +provided with a \fB\-D\fR option. +.IP "\fB\-undef\fR" 4 +.IX Item "-undef" +Do not predefine any system-specific or GCC-specific macros. The +standard predefined macros remain defined. +.IP "\fB\-I\fR \fIdir\fR" 4 +.IX Item "-I dir" +Add the directory \fIdir\fR to the list of directories to be searched +for header files. +.Sp +Directories named by \fB\-I\fR are searched before the standard +system include directories. If the directory \fIdir\fR is a standard +system include directory, the option is ignored to ensure that the +default search order for system directories and the special treatment +of system headers are not defeated +\&. +.IP "\fB\-o\fR \fIfile\fR" 4 +.IX Item "-o file" +Write output to \fIfile\fR. This is the same as specifying \fIfile\fR +as the second non-option argument to \fBcpp\fR. \fBgcc\fR has a +different interpretation of a second non-option argument, so you must +use \fB\-o\fR to specify the output file. +.IP "\fB\-Wall\fR" 4 +.IX Item "-Wall" +Turns on all optional warnings which are desirable for normal code. +At present this is \fB\-Wcomment\fR, \fB\-Wtrigraphs\fR, +\&\fB\-Wmultichar\fR and a warning about integer promotion causing a +change of sign in \f(CW\*(C`#if\*(C'\fR expressions. Note that many of the +preprocessor's warnings are on by default and have no options to +control them. +.IP "\fB\-Wcomment\fR" 4 +.IX Item "-Wcomment" +.PD 0 +.IP "\fB\-Wcomments\fR" 4 +.IX Item "-Wcomments" +.PD +Warn whenever a comment-start sequence \fB/*\fR appears in a \fB/*\fR +comment, or whenever a backslash-newline appears in a \fB//\fR comment. +(Both forms have the same effect.) +.IP "\fB\-Wtrigraphs\fR" 4 +.IX Item "-Wtrigraphs" +Most trigraphs in comments cannot affect the meaning of the program. +However, a trigraph that would form an escaped newline (\fB??/\fR at +the end of a line) can, by changing where the comment begins or ends. +Therefore, only trigraphs that would form escaped newlines produce +warnings inside a comment. +.Sp +This option is implied by \fB\-Wall\fR. If \fB\-Wall\fR is not +given, this option is still enabled unless trigraphs are enabled. To +get trigraph conversion without warnings, but get the other +\&\fB\-Wall\fR warnings, use \fB\-trigraphs \-Wall \-Wno\-trigraphs\fR. +.IP "\fB\-Wtraditional\fR" 4 +.IX Item "-Wtraditional" +Warn about certain constructs that behave differently in traditional and +\&\s-1ISO\s0 C. Also warn about \s-1ISO\s0 C constructs that have no traditional C +equivalent, and problematic constructs which should be avoided. +.IP "\fB\-Wimport\fR" 4 +.IX Item "-Wimport" +Warn the first time \fB#import\fR is used. +.IP "\fB\-Wundef\fR" 4 +.IX Item "-Wundef" +Warn whenever an identifier which is not a macro is encountered in an +\&\fB#if\fR directive, outside of \fBdefined\fR. Such identifiers are +replaced with zero. +.IP "\fB\-Wunused\-macros\fR" 4 +.IX Item "-Wunused-macros" +Warn about macros defined in the main file that are unused. A macro +is \fIused\fR if it is expanded or tested for existence at least once. +The preprocessor will also warn if the macro has not been used at the +time it is redefined or undefined. +.Sp +Built-in macros, macros defined on the command line, and macros +defined in include files are not warned about. +.Sp +\&\fINote:\fR If a macro is actually used, but only used in skipped +conditional blocks, then \s-1CPP\s0 will report it as unused. To avoid the +warning in such a case, you might improve the scope of the macro's +definition by, for example, moving it into the first skipped block. +Alternatively, you could provide a dummy use with something like: +.Sp +.Vb 2 +\& #if defined the_macro_causing_the_warning +\& #endif +.Ve +.IP "\fB\-Wendif\-labels\fR" 4 +.IX Item "-Wendif-labels" +Warn whenever an \fB#else\fR or an \fB#endif\fR are followed by text. +This usually happens in code of the form +.Sp +.Vb 5 +\& #if FOO +\& ... +\& #else FOO +\& ... +\& #endif FOO +.Ve +.Sp +The second and third \f(CW\*(C`FOO\*(C'\fR should be in comments, but often are not +in older programs. This warning is on by default. +.IP "\fB\-Werror\fR" 4 +.IX Item "-Werror" +Make all warnings into hard errors. Source code which triggers warnings +will be rejected. +.IP "\fB\-Wsystem\-headers\fR" 4 +.IX Item "-Wsystem-headers" +Issue warnings for code in system headers. These are normally unhelpful +in finding bugs in your own code, therefore suppressed. If you are +responsible for the system library, you may want to see them. +.IP "\fB\-w\fR" 4 +.IX Item "-w" +Suppress all warnings, including those which \s-1GNU\s0 \s-1CPP\s0 issues by default. +.IP "\fB\-pedantic\fR" 4 +.IX Item "-pedantic" +Issue all the mandatory diagnostics listed in the C standard. Some of +them are left out by default, since they trigger frequently on harmless +code. +.IP "\fB\-pedantic\-errors\fR" 4 +.IX Item "-pedantic-errors" +Issue all the mandatory diagnostics, and make all mandatory diagnostics +into errors. This includes mandatory diagnostics that \s-1GCC\s0 issues +without \fB\-pedantic\fR but treats as warnings. +.IP "\fB\-M\fR" 4 +.IX Item "-M" +Instead of outputting the result of preprocessing, output a rule +suitable for \fBmake\fR describing the dependencies of the main +source file. The preprocessor outputs one \fBmake\fR rule containing +the object file name for that source file, a colon, and the names of all +the included files, including those coming from \fB\-include\fR or +\&\fB\-imacros\fR command line options. +.Sp +Unless specified explicitly (with \fB\-MT\fR or \fB\-MQ\fR), the +object file name consists of the basename of the source file with any +suffix replaced with object file suffix. If there are many included +files then the rule is split into several lines using \fB\e\fR\-newline. +The rule has no commands. +.Sp +This option does not suppress the preprocessor's debug output, such as +\&\fB\-dM\fR. To avoid mixing such debug output with the dependency +rules you should explicitly specify the dependency output file with +\&\fB\-MF\fR, or use an environment variable like +\&\fB\s-1DEPENDENCIES_OUTPUT\s0\fR. Debug output +will still be sent to the regular output stream as normal. +.Sp +Passing \fB\-M\fR to the driver implies \fB\-E\fR, and suppresses +warnings with an implicit \fB\-w\fR. +.IP "\fB\-MM\fR" 4 +.IX Item "-MM" +Like \fB\-M\fR but do not mention header files that are found in +system header directories, nor header files that are included, +directly or indirectly, from such a header. +.Sp +This implies that the choice of angle brackets or double quotes in an +\&\fB#include\fR directive does not in itself determine whether that +header will appear in \fB\-MM\fR dependency output. This is a +slight change in semantics from \s-1GCC\s0 versions 3.0 and earlier. +.IP "\fB\-MF\fR \fIfile\fR" 4 +.IX Item "-MF file" +When used with \fB\-M\fR or \fB\-MM\fR, specifies a +file to write the dependencies to. If no \fB\-MF\fR switch is given +the preprocessor sends the rules to the same place it would have sent +preprocessed output. +.Sp +When used with the driver options \fB\-MD\fR or \fB\-MMD\fR, +\&\fB\-MF\fR overrides the default dependency output file. +.IP "\fB\-MG\fR" 4 +.IX Item "-MG" +In conjunction with an option such as \fB\-M\fR requesting +dependency generation, \fB\-MG\fR assumes missing header files are +generated files and adds them to the dependency list without raising +an error. The dependency filename is taken directly from the +\&\f(CW\*(C`#include\*(C'\fR directive without prepending any path. \fB\-MG\fR +also suppresses preprocessed output, as a missing header file renders +this useless. +.Sp +This feature is used in automatic updating of makefiles. +.IP "\fB\-MP\fR" 4 +.IX Item "-MP" +This option instructs \s-1CPP\s0 to add a phony target for each dependency +other than the main file, causing each to depend on nothing. These +dummy rules work around errors \fBmake\fR gives if you remove header +files without updating the \fIMakefile\fR to match. +.Sp +This is typical output: +.Sp +.Vb 1 +\& test.o: test.c test.h +.Ve +.Sp +.Vb 1 +\& test.h: +.Ve +.IP "\fB\-MT\fR \fItarget\fR" 4 +.IX Item "-MT target" +Change the target of the rule emitted by dependency generation. By +default \s-1CPP\s0 takes the name of the main input file, including any path, +deletes any file suffix such as \fB.c\fR, and appends the platform's +usual object suffix. The result is the target. +.Sp +An \fB\-MT\fR option will set the target to be exactly the string you +specify. If you want multiple targets, you can specify them as a single +argument to \fB\-MT\fR, or use multiple \fB\-MT\fR options. +.Sp +For example, \fB\-MT\ '$(objpfx)foo.o'\fR might give +.Sp +.Vb 1 +\& $(objpfx)foo.o: foo.c +.Ve +.IP "\fB\-MQ\fR \fItarget\fR" 4 +.IX Item "-MQ target" +Same as \fB\-MT\fR, but it quotes any characters which are special to +Make. \fB\-MQ\ '$(objpfx)foo.o'\fR gives +.Sp +.Vb 1 +\& $$(objpfx)foo.o: foo.c +.Ve +.Sp +The default target is automatically quoted, as if it were given with +\&\fB\-MQ\fR. +.IP "\fB\-MD\fR" 4 +.IX Item "-MD" +\&\fB\-MD\fR is equivalent to \fB\-M \-MF\fR \fIfile\fR, except that +\&\fB\-E\fR is not implied. The driver determines \fIfile\fR based on +whether an \fB\-o\fR option is given. If it is, the driver uses its +argument but with a suffix of \fI.d\fR, otherwise it take the +basename of the input file and applies a \fI.d\fR suffix. +.Sp +If \fB\-MD\fR is used in conjunction with \fB\-E\fR, any +\&\fB\-o\fR switch is understood to specify the dependency output file, but if used without \fB\-E\fR, each \fB\-o\fR +is understood to specify a target object file. +.Sp +Since \fB\-E\fR is not implied, \fB\-MD\fR can be used to generate +a dependency output file as a side-effect of the compilation process. +.IP "\fB\-MMD\fR" 4 +.IX Item "-MMD" +Like \fB\-MD\fR except mention only user header files, not system +header files. +.IP "\fB\-x c\fR" 4 +.IX Item "-x c" +.PD 0 +.IP "\fB\-x c++\fR" 4 +.IX Item "-x c++" +.IP "\fB\-x objective-c\fR" 4 +.IX Item "-x objective-c" +.IP "\fB\-x assembler-with-cpp\fR" 4 +.IX Item "-x assembler-with-cpp" +.PD +Specify the source language: C, \*(C+, Objective\-C, or assembly. This has +nothing to do with standards conformance or extensions; it merely +selects which base syntax to expect. If you give none of these options, +cpp will deduce the language from the extension of the source file: +\&\fB.c\fR, \fB.cc\fR, \fB.m\fR, or \fB.S\fR. Some other common +extensions for \*(C+ and assembly are also recognized. If cpp does not +recognize the extension, it will treat the file as C; this is the most +generic mode. +.Sp +\&\fINote:\fR Previous versions of cpp accepted a \fB\-lang\fR option +which selected both the language and the standards conformance level. +This option has been removed, because it conflicts with the \fB\-l\fR +option. +.IP "\fB\-std=\fR\fIstandard\fR" 4 +.IX Item "-std=standard" +.PD 0 +.IP "\fB\-ansi\fR" 4 +.IX Item "-ansi" +.PD +Specify the standard to which the code should conform. Currently \s-1CPP\s0 +knows about C and \*(C+ standards; others may be added in the future. +.Sp +\&\fIstandard\fR +may be one of: +.RS 4 +.ie n .IP """iso9899:1990""" 4 +.el .IP "\f(CWiso9899:1990\fR" 4 +.IX Item "iso9899:1990" +.PD 0 +.ie n .IP """c89""" 4 +.el .IP "\f(CWc89\fR" 4 +.IX Item "c89" +.PD +The \s-1ISO\s0 C standard from 1990. \fBc89\fR is the customary shorthand for +this version of the standard. +.Sp +The \fB\-ansi\fR option is equivalent to \fB\-std=c89\fR. +.ie n .IP """iso9899:199409""" 4 +.el .IP "\f(CWiso9899:199409\fR" 4 +.IX Item "iso9899:199409" +The 1990 C standard, as amended in 1994. +.ie n .IP """iso9899:1999""" 4 +.el .IP "\f(CWiso9899:1999\fR" 4 +.IX Item "iso9899:1999" +.PD 0 +.ie n .IP """c99""" 4 +.el .IP "\f(CWc99\fR" 4 +.IX Item "c99" +.ie n .IP """iso9899:199x""" 4 +.el .IP "\f(CWiso9899:199x\fR" 4 +.IX Item "iso9899:199x" +.ie n .IP """c9x""" 4 +.el .IP "\f(CWc9x\fR" 4 +.IX Item "c9x" +.PD +The revised \s-1ISO\s0 C standard, published in December 1999. Before +publication, this was known as C9X. +.ie n .IP """gnu89""" 4 +.el .IP "\f(CWgnu89\fR" 4 +.IX Item "gnu89" +The 1990 C standard plus \s-1GNU\s0 extensions. This is the default. +.ie n .IP """gnu99""" 4 +.el .IP "\f(CWgnu99\fR" 4 +.IX Item "gnu99" +.PD 0 +.ie n .IP """gnu9x""" 4 +.el .IP "\f(CWgnu9x\fR" 4 +.IX Item "gnu9x" +.PD +The 1999 C standard plus \s-1GNU\s0 extensions. +.ie n .IP """c++98""" 4 +.el .IP "\f(CWc++98\fR" 4 +.IX Item "c++98" +The 1998 \s-1ISO\s0 \*(C+ standard plus amendments. +.ie n .IP """gnu++98""" 4 +.el .IP "\f(CWgnu++98\fR" 4 +.IX Item "gnu++98" +The same as \fB\-std=c++98\fR plus \s-1GNU\s0 extensions. This is the +default for \*(C+ code. +.RE +.RS 4 +.RE +.IP "\fB\-I\-\fR" 4 +.IX Item "-I-" +Split the include path. Any directories specified with \fB\-I\fR +options before \fB\-I\-\fR are searched only for headers requested with +\&\f(CW\*(C`#include\ "\f(CIfile\f(CW"\*(C'\fR; they are not searched for +\&\f(CW\*(C`#include\ <\f(CIfile\f(CW>\*(C'\fR. If additional directories are +specified with \fB\-I\fR options after the \fB\-I\-\fR, those +directories are searched for all \fB#include\fR directives. +.Sp +In addition, \fB\-I\-\fR inhibits the use of the directory of the current +file directory as the first search directory for \f(CW\*(C`#include\ "\f(CIfile\f(CW"\*(C'\fR. +.Sp +This option has been deprecated. +.IP "\fB\-nostdinc\fR" 4 +.IX Item "-nostdinc" +Do not search the standard system directories for header files. +Only the directories you have specified with \fB\-I\fR options +(and the directory of the current file, if appropriate) are searched. +.IP "\fB\-nostdinc++\fR" 4 +.IX Item "-nostdinc++" +Do not search for header files in the \*(C+\-specific standard directories, +but do still search the other standard directories. (This option is +used when building the \*(C+ library.) +.IP "\fB\-include\fR \fIfile\fR" 4 +.IX Item "-include file" +Process \fIfile\fR as if \f(CW\*(C`#include "file"\*(C'\fR appeared as the first +line of the primary source file. However, the first directory searched +for \fIfile\fR is the preprocessor's working directory \fIinstead of\fR +the directory containing the main source file. If not found there, it +is searched for in the remainder of the \f(CW\*(C`#include "..."\*(C'\fR search +chain as normal. +.Sp +If multiple \fB\-include\fR options are given, the files are included +in the order they appear on the command line. +.IP "\fB\-imacros\fR \fIfile\fR" 4 +.IX Item "-imacros file" +Exactly like \fB\-include\fR, except that any output produced by +scanning \fIfile\fR is thrown away. Macros it defines remain defined. +This allows you to acquire all the macros from a header without also +processing its declarations. +.Sp +All files specified by \fB\-imacros\fR are processed before all files +specified by \fB\-include\fR. +.IP "\fB\-idirafter\fR \fIdir\fR" 4 +.IX Item "-idirafter dir" +Search \fIdir\fR for header files, but do it \fIafter\fR all +directories specified with \fB\-I\fR and the standard system directories +have been exhausted. \fIdir\fR is treated as a system include directory. +.IP "\fB\-iprefix\fR \fIprefix\fR" 4 +.IX Item "-iprefix prefix" +Specify \fIprefix\fR as the prefix for subsequent \fB\-iwithprefix\fR +options. If the prefix represents a directory, you should include the +final \fB/\fR. +.IP "\fB\-iwithprefix\fR \fIdir\fR" 4 +.IX Item "-iwithprefix dir" +.PD 0 +.IP "\fB\-iwithprefixbefore\fR \fIdir\fR" 4 +.IX Item "-iwithprefixbefore dir" +.PD +Append \fIdir\fR to the prefix specified previously with +\&\fB\-iprefix\fR, and add the resulting directory to the include search +path. \fB\-iwithprefixbefore\fR puts it in the same place \fB\-I\fR +would; \fB\-iwithprefix\fR puts it where \fB\-idirafter\fR would. +.IP "\fB\-isysroot\fR \fIdir\fR" 4 +.IX Item "-isysroot dir" +This option is like the \fB\-\-sysroot\fR option, but applies only to +header files. See the \fB\-\-sysroot\fR option for more information. +.IP "\fB\-imultilib\fR \fIdir\fR" 4 +.IX Item "-imultilib dir" +Use \fIdir\fR as a subdirectory of the directory containing +target-specific \*(C+ headers. +.IP "\fB\-isystem\fR \fIdir\fR" 4 +.IX Item "-isystem dir" +Search \fIdir\fR for header files, after all directories specified by +\&\fB\-I\fR but before the standard system directories. Mark it +as a system directory, so that it gets the same special treatment as +is applied to the standard system directories. +.IP "\fB\-iquote\fR \fIdir\fR" 4 +.IX Item "-iquote dir" +Search \fIdir\fR only for header files requested with +\&\f(CW\*(C`#include\ "\f(CIfile\f(CW"\*(C'\fR; they are not searched for +\&\f(CW\*(C`#include\ <\f(CIfile\f(CW>\*(C'\fR, before all directories specified by +\&\fB\-I\fR and before the standard system directories. +.IP "\fB\-fdollars\-in\-identifiers\fR" 4 +.IX Item "-fdollars-in-identifiers" +Accept \fB$\fR in identifiers. +.IP "\fB\-fextended\-identifiers\fR" 4 +.IX Item "-fextended-identifiers" +Accept universal character names in identifiers. This option is +experimental; in a future version of \s-1GCC\s0, it will be enabled by +default for C99 and \*(C+. +.IP "\fB\-fpreprocessed\fR" 4 +.IX Item "-fpreprocessed" +Indicate to the preprocessor that the input file has already been +preprocessed. This suppresses things like macro expansion, trigraph +conversion, escaped newline splicing, and processing of most directives. +The preprocessor still recognizes and removes comments, so that you can +pass a file preprocessed with \fB\-C\fR to the compiler without +problems. In this mode the integrated preprocessor is little more than +a tokenizer for the front ends. +.Sp +\&\fB\-fpreprocessed\fR is implicit if the input file has one of the +extensions \fB.i\fR, \fB.ii\fR or \fB.mi\fR. These are the +extensions that \s-1GCC\s0 uses for preprocessed files created by +\&\fB\-save\-temps\fR. +.IP "\fB\-ftabstop=\fR\fIwidth\fR" 4 +.IX Item "-ftabstop=width" +Set the distance between tab stops. This helps the preprocessor report +correct column numbers in warnings or errors, even if tabs appear on the +line. If the value is less than 1 or greater than 100, the option is +ignored. The default is 8. +.IP "\fB\-fexec\-charset=\fR\fIcharset\fR" 4 +.IX Item "-fexec-charset=charset" +Set the execution character set, used for string and character +constants. The default is \s-1UTF\-8\s0. \fIcharset\fR can be any encoding +supported by the system's \f(CW\*(C`iconv\*(C'\fR library routine. +.IP "\fB\-fwide\-exec\-charset=\fR\fIcharset\fR" 4 +.IX Item "-fwide-exec-charset=charset" +Set the wide execution character set, used for wide string and +character constants. The default is \s-1UTF\-32\s0 or \s-1UTF\-16\s0, whichever +corresponds to the width of \f(CW\*(C`wchar_t\*(C'\fR. As with +\&\fB\-fexec\-charset\fR, \fIcharset\fR can be any encoding supported +by the system's \f(CW\*(C`iconv\*(C'\fR library routine; however, you will have +problems with encodings that do not fit exactly in \f(CW\*(C`wchar_t\*(C'\fR. +.IP "\fB\-finput\-charset=\fR\fIcharset\fR" 4 +.IX Item "-finput-charset=charset" +Set the input character set, used for translation from the character +set of the input file to the source character set used by \s-1GCC\s0. If the +locale does not specify, or \s-1GCC\s0 cannot get this information from the +locale, the default is \s-1UTF\-8\s0. This can be overridden by either the locale +or this command line option. Currently the command line option takes +precedence if there's a conflict. \fIcharset\fR can be any encoding +supported by the system's \f(CW\*(C`iconv\*(C'\fR library routine. +.IP "\fB\-fworking\-directory\fR" 4 +.IX Item "-fworking-directory" +Enable generation of linemarkers in the preprocessor output that will +let the compiler know the current working directory at the time of +preprocessing. When this option is enabled, the preprocessor will +emit, after the initial linemarker, a second linemarker with the +current working directory followed by two slashes. \s-1GCC\s0 will use this +directory, when it's present in the preprocessed input, as the +directory emitted as the current working directory in some debugging +information formats. This option is implicitly enabled if debugging +information is enabled, but this can be inhibited with the negated +form \fB\-fno\-working\-directory\fR. If the \fB\-P\fR flag is +present in the command line, this option has no effect, since no +\&\f(CW\*(C`#line\*(C'\fR directives are emitted whatsoever. +.IP "\fB\-fno\-show\-column\fR" 4 +.IX Item "-fno-show-column" +Do not print column numbers in diagnostics. This may be necessary if +diagnostics are being scanned by a program that does not understand the +column numbers, such as \fBdejagnu\fR. +.IP "\fB\-A\fR \fIpredicate\fR\fB=\fR\fIanswer\fR" 4 +.IX Item "-A predicate=answer" +Make an assertion with the predicate \fIpredicate\fR and answer +\&\fIanswer\fR. This form is preferred to the older form \fB\-A\fR +\&\fIpredicate\fR\fB(\fR\fIanswer\fR\fB)\fR, which is still supported, because +it does not use shell special characters. +.IP "\fB\-A \-\fR\fIpredicate\fR\fB=\fR\fIanswer\fR" 4 +.IX Item "-A -predicate=answer" +Cancel an assertion with the predicate \fIpredicate\fR and answer +\&\fIanswer\fR. +.IP "\fB\-dCHARS\fR" 4 +.IX Item "-dCHARS" +\&\fI\s-1CHARS\s0\fR is a sequence of one or more of the following characters, +and must not be preceded by a space. Other characters are interpreted +by the compiler proper, or reserved for future versions of \s-1GCC\s0, and so +are silently ignored. If you specify characters whose behavior +conflicts, the result is undefined. +.RS 4 +.IP "\fBM\fR" 4 +.IX Item "M" +Instead of the normal output, generate a list of \fB#define\fR +directives for all the macros defined during the execution of the +preprocessor, including predefined macros. This gives you a way of +finding out what is predefined in your version of the preprocessor. +Assuming you have no file \fIfoo.h\fR, the command +.Sp +.Vb 1 +\& touch foo.h; cpp -dM foo.h +.Ve +.Sp +will show all the predefined macros. +.IP "\fBD\fR" 4 +.IX Item "D" +Like \fBM\fR except in two respects: it does \fInot\fR include the +predefined macros, and it outputs \fIboth\fR the \fB#define\fR +directives and the result of preprocessing. Both kinds of output go to +the standard output file. +.IP "\fBN\fR" 4 +.IX Item "N" +Like \fBD\fR, but emit only the macro names, not their expansions. +.IP "\fBI\fR" 4 +.IX Item "I" +Output \fB#include\fR directives in addition to the result of +preprocessing. +.RE +.RS 4 +.RE +.IP "\fB\-P\fR" 4 +.IX Item "-P" +Inhibit generation of linemarkers in the output from the preprocessor. +This might be useful when running the preprocessor on something that is +not C code, and will be sent to a program which might be confused by the +linemarkers. +.IP "\fB\-C\fR" 4 +.IX Item "-C" +Do not discard comments. All comments are passed through to the output +file, except for comments in processed directives, which are deleted +along with the directive. +.Sp +You should be prepared for side effects when using \fB\-C\fR; it +causes the preprocessor to treat comments as tokens in their own right. +For example, comments appearing at the start of what would be a +directive line have the effect of turning that line into an ordinary +source line, since the first token on the line is no longer a \fB#\fR. +.IP "\fB\-CC\fR" 4 +.IX Item "-CC" +Do not discard comments, including during macro expansion. This is +like \fB\-C\fR, except that comments contained within macros are +also passed through to the output file where the macro is expanded. +.Sp +In addition to the side-effects of the \fB\-C\fR option, the +\&\fB\-CC\fR option causes all \*(C+\-style comments inside a macro +to be converted to C\-style comments. This is to prevent later use +of that macro from inadvertently commenting out the remainder of +the source line. +.Sp +The \fB\-CC\fR option is generally used to support lint comments. +.IP "\fB\-traditional\-cpp\fR" 4 +.IX Item "-traditional-cpp" +Try to imitate the behavior of old-fashioned C preprocessors, as +opposed to \s-1ISO\s0 C preprocessors. +.IP "\fB\-trigraphs\fR" 4 +.IX Item "-trigraphs" +Process trigraph sequences. +.IP "\fB\-remap\fR" 4 +.IX Item "-remap" +Enable special code to work around file systems which only permit very +short file names, such as \s-1MS\-DOS\s0. +.IP "\fB\-\-help\fR" 4 +.IX Item "--help" +.PD 0 +.IP "\fB\-\-target\-help\fR" 4 +.IX Item "--target-help" +.PD +Print text describing all the command line options instead of +preprocessing anything. +.IP "\fB\-v\fR" 4 +.IX Item "-v" +Verbose mode. Print out \s-1GNU\s0 \s-1CPP\s0's version number at the beginning of +execution, and report the final form of the include path. +.IP "\fB\-H\fR" 4 +.IX Item "-H" +Print the name of each header file used, in addition to other normal +activities. Each name is indented to show how deep in the +\&\fB#include\fR stack it is. Precompiled header files are also +printed, even if they are found to be invalid; an invalid precompiled +header file is printed with \fB...x\fR and a valid one with \fB...!\fR . +.IP "\fB\-version\fR" 4 +.IX Item "-version" +.PD 0 +.IP "\fB\-\-version\fR" 4 +.IX Item "--version" +.PD +Print out \s-1GNU\s0 \s-1CPP\s0's version number. With one dash, proceed to +preprocess as normal. With two dashes, exit immediately. +.SH "ENVIRONMENT" +.IX Header "ENVIRONMENT" +This section describes the environment variables that affect how \s-1CPP\s0 +operates. You can use them to specify directories or prefixes to use +when searching for include files, or to control dependency output. +.PP +Note that you can also specify places to search using options such as +\&\fB\-I\fR, and control dependency output with options like +\&\fB\-M\fR. These take precedence over +environment variables, which in turn take precedence over the +configuration of \s-1GCC\s0. +.IP "\fB\s-1CPATH\s0\fR" 4 +.IX Item "CPATH" +.PD 0 +.IP "\fBC_INCLUDE_PATH\fR" 4 +.IX Item "C_INCLUDE_PATH" +.IP "\fB\s-1CPLUS_INCLUDE_PATH\s0\fR" 4 +.IX Item "CPLUS_INCLUDE_PATH" +.IP "\fB\s-1OBJC_INCLUDE_PATH\s0\fR" 4 +.IX Item "OBJC_INCLUDE_PATH" +.PD +Each variable's value is a list of directories separated by a special +character, much like \fB\s-1PATH\s0\fR, in which to look for header files. +The special character, \f(CW\*(C`PATH_SEPARATOR\*(C'\fR, is target-dependent and +determined at \s-1GCC\s0 build time. For Microsoft Windows-based targets it is a +semicolon, and for almost all other targets it is a colon. +.Sp +\&\fB\s-1CPATH\s0\fR specifies a list of directories to be searched as if +specified with \fB\-I\fR, but after any paths given with \fB\-I\fR +options on the command line. This environment variable is used +regardless of which language is being preprocessed. +.Sp +The remaining environment variables apply only when preprocessing the +particular language indicated. Each specifies a list of directories +to be searched as if specified with \fB\-isystem\fR, but after any +paths given with \fB\-isystem\fR options on the command line. +.Sp +In all these variables, an empty element instructs the compiler to +search its current working directory. Empty elements can appear at the +beginning or end of a path. For instance, if the value of +\&\fB\s-1CPATH\s0\fR is \f(CW\*(C`:/special/include\*(C'\fR, that has the same +effect as \fB\-I.\ \-I/special/include\fR. +.IP "\fB\s-1DEPENDENCIES_OUTPUT\s0\fR" 4 +.IX Item "DEPENDENCIES_OUTPUT" +If this variable is set, its value specifies how to output +dependencies for Make based on the non-system header files processed +by the compiler. System header files are ignored in the dependency +output. +.Sp +The value of \fB\s-1DEPENDENCIES_OUTPUT\s0\fR can be just a file name, in +which case the Make rules are written to that file, guessing the target +name from the source file name. Or the value can have the form +\&\fIfile\fR\fB \fR\fItarget\fR, in which case the rules are written to +file \fIfile\fR using \fItarget\fR as the target name. +.Sp +In other words, this environment variable is equivalent to combining +the options \fB\-MM\fR and \fB\-MF\fR, +with an optional \fB\-MT\fR switch too. +.IP "\fB\s-1SUNPRO_DEPENDENCIES\s0\fR" 4 +.IX Item "SUNPRO_DEPENDENCIES" +This variable is the same as \fB\s-1DEPENDENCIES_OUTPUT\s0\fR (see above), +except that system header files are not ignored, so it implies +\&\fB\-M\fR rather than \fB\-MM\fR. However, the dependence on the +main input file is omitted. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fIgpl\fR\|(7), \fIgfdl\fR\|(7), \fIfsf\-funding\fR\|(7), +\&\fIgcc\fR\|(1), \fIas\fR\|(1), \fIld\fR\|(1), and the Info entries for \fIcpp\fR, \fIgcc\fR, and +\&\fIbinutils\fR. +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright (c) 1987, 1989, 1991, 1992, 1993, 1994, 1995, 1996, +1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +Free Software Foundation, Inc. +.PP +Permission is granted to copy, distribute and/or modify this document +under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.1 or +any later version published by the Free Software Foundation. A copy of +the license is included in the +man page \fIgfdl\fR\|(7). +This manual contains no Invariant Sections. The Front-Cover Texts are +(a) (see below), and the Back-Cover Texts are (b) (see below). +.PP +(a) The \s-1FSF\s0's Front-Cover Text is: +.PP +.Vb 1 +\& A GNU Manual +.Ve +.PP +(b) The \s-1FSF\s0's Back-Cover Text is: +.PP +.Vb 3 +\& You have freedom to copy and modify this GNU Manual, like GNU +\& software. Copies published by the Free Software Foundation raise +\& funds for GNU development. +.Ve diff --git a/static/openbsd/man1/crontab.1 b/static/openbsd/man1/crontab.1 new file mode 100644 index 00000000..953c6cd0 --- /dev/null +++ b/static/openbsd/man1/crontab.1 @@ -0,0 +1,173 @@ +.\"/* Copyright 1988,1990,1993 by Paul Vixie +.\" * All rights reserved +.\" */ +.\" +.\" Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC") +.\" Copyright (c) 1997,2000 by Internet Software Consortium, Inc. +.\" +.\" Permission to use, copy, modify, and distribute this software for any +.\" purpose with or without fee is hereby granted, provided that the above +.\" copyright notice and this permission notice appear in all copies. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES +.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR +.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT +.\" OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +.\" +.\" $OpenBSD: crontab.1,v 1.34 2020/01/06 18:49:28 schwarze Exp $ +.\" +.Dd $Mdocdate: January 6 2020 $ +.Dt CRONTAB 1 +.Os +.Sh NAME +.Nm crontab +.Nd maintain crontab files for individual users +.Sh SYNOPSIS +.Nm +.Op Fl u Ar user +.Ar file +.Nm +.Oo +.Fl e | l | r +.Oc +.Op Fl u Ar user +.Sh DESCRIPTION +.Nm +is the program used to install, deinstall, or list the tables +used to drive the +.Xr cron 8 +daemon. +Each user can have their own +.Xr crontab 5 , +and though these are files in +.Pa /var/cron/tabs , +they are not intended to be edited directly. +.Pp +The first form of this command is used to install a new crontab from some +named file, or standard input if the pseudo-filename +.Sq - +is given. +.Pp +If the +.Pa /var/cron/cron.allow +file exists, then you must be listed therein in order to use +.Nm . +If the +.Pa /var/cron/cron.allow +file does not exist but the +.Pa /var/cron/cron.deny +file does exist, then you must +.Em not +be listed in the +.Pa /var/cron/cron.deny +file in order to use +.Nm . +If neither of these files exists then only the super user +will be allowed to use +.Nm . +.Em NOTE : +if they exist, +.Pa /var/cron/cron.allow +and +.Pa /var/cron/cron.deny +must be readable by group crontab. +If +.Nm +is unable to read the files, users will not be allowed to use +.Nm . +.Pp +The options are as follows: +.Bl -tag -width "-u userX" +.It Fl e +Edit the current crontab using the editor specified by +the +.Ev VISUAL +or +.Ev EDITOR +environment variables. +After you exit from the editor, the modified +.Xr crontab 5 +will be installed automatically. +.It Fl l +Causes the current crontab to be displayed on standard output. +.It Fl r +Causes the current crontab to be removed. +.It Fl u Ar user +Specifies the name of the user whose +.Xr crontab 5 +is to be edited. +If this option is not given, +.Nm +examines +.Dq your +.Xr crontab 5 ; +i.e., the +crontab of the person executing the command. +Note that +.Xr su 1 +can confuse +.Nm +and that if you are running inside of +.Xr su 1 +you should always use the +.Fl u +option for safety's sake. +.El +.Sh ENVIRONMENT +.Bl -tag -width "EDITOR" +.It Ev EDITOR , VISUAL +Specifies an editor to use. +If both +.Ev EDITOR +and +.Ev VISUAL +are set, +.Ev VISUAL +takes precedence. +If neither +.Ev EDITOR +nor +.Ev VISUAL +are set, the default is +.Xr vi 1 . +.El +.Sh FILES +.Bl -tag -width "/var/cron/cron.allow" -compact +.It Pa /var/cron/cron.allow +list of users allowed to use crontab +.It Pa /var/cron/cron.deny +list of users prohibited from using crontab +.It Pa /var/cron/tabs +directory of individual crontabs +.El +.Sh SEE ALSO +.Xr at 1 , +.Xr crontab 5 , +.Xr cron 8 +.Sh STANDARDS +The +.Nm +utility is compliant with the +.St -p1003.1-2008 +specification. +.Pp +The flag +.Op Fl u +is an extension to that specification. +.Pp +The flag +.Op Fl e +is marked by +.St -p1003.1-2008 +as being optional. +.Pp +The cron.allow/deny mechanism is marked by +.St -p1003.1-2008 +as being an +X/Open System Interfaces +option. +.Sh AUTHORS +.An Paul Vixie Aq Mt vixie@isc.org diff --git a/static/openbsd/man1/csh.1 b/static/openbsd/man1/csh.1 new file mode 100644 index 00000000..8b44df43 --- /dev/null +++ b/static/openbsd/man1/csh.1 @@ -0,0 +1,1015 @@ +.\" $OpenBSD: csh.1,v 1.10 2010/07/22 08:30:29 jmc Exp $ +.\" $NetBSD: csh.1,v 1.3 1995/03/21 09:03:33 cgd Exp $ +.\" +.\" Copyright (c) 1980, 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. 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. +.\" +.\" @(#)csh.1 8.1 (Berkeley) 6/8/93 +.\" +.if n \{\ +.po 5n +.ll 70n +.\} +.EH 'USD:4-%''An Introduction to the C shell' +.OH 'An Introduction to the C shell''USD:4-%' +.\".RP +.TL +An Introduction to the C shell +.AU +William Joy +(revised for 4.3BSD by Mark Seiden) +.AI +Computer Science Division +.br +Department of Electrical Engineering and Computer Science +.br +University of California, Berkeley +.br +Berkeley, California 94720 +.AB +.I Csh +is a new command language interpreter for +.UX +systems. +It incorporates good features of other shells and a +.I history +mechanism similar to the +.I redo +of INTERLISP. +While incorporating many features of other shells which make +writing shell programs (shell scripts) easier, +most of the features unique to +.I csh +are designed more for the interactive UNIX user. +.PP +UNIX +users who have read a general introduction to the system +will find a valuable basic explanation of the shell here. +Simple terminal interaction with +.I csh +is possible after reading just the first section of this document. +The second section describes the shell's capabilities which you can +explore after you have begun to become acquainted with the shell. +Later sections introduce features which are useful, but not necessary +for all users of the shell. +.PP +Additional information includes an appendix listing special characters of the shell +and a glossary of terms and commands introduced in this manual. +.AE +.SH +.if n .ND +Introduction +.PP +A +.I shell +is a command language interpreter. +.I Csh +is the name of one particular command interpreter on +UNIX. +The primary purpose of +.I csh +is to translate command lines typed at a terminal into +system actions, such as invocation of other programs. +.I Csh +is a user program just like any you might write. +Hopefully, +.I csh +will be a very useful program for you +in interacting with the UNIX system. +.PP +In addition to this document, you will want to refer to a copy +of the UNIX User Reference Manual. +The +.I csh +documentation in section 1 of the manual provides a full description of all +features of the shell and is the definitive reference for questions +about the shell. +.PP +Many words in this document are shown in +.I italics . +These are important words; +names of commands, and words which have special meaning in discussing +the shell and UNIX. +Many of the words are defined in a glossary at the end of this document. +If you don't know what is meant by a word, you should look +for it in the glossary. +.SH +Acknowledgements +.PP +Numerous people have provided good input about previous versions +of +.I csh +and aided in its debugging and in the debugging of its documentation. +I would especially like to thank Michael Ubell +who made the crucial observation that history commands could be +done well over the word structure of input text, and implemented +a prototype history mechanism in an older version of the shell. +Eric Allman has also provided a large number of useful comments on the +shell, helping to unify those concepts which are present and to identify +and eliminate useless and marginally useful features. +Mike O'Brien suggested the pathname hashing +mechanism which speeds command execution. +Jim Kulp added the job control and directory stack primitives and +added their documentation to this introduction. +.br +.bp +.NH +Terminal usage of the shell +.NH 2 +The basic notion of commands +.PP +A +.I shell +in +UNIX +acts mostly as a medium through which other +.I programs +are invoked. +While it has a set of +.I built-in +functions which it performs directly, +most commands cause execution of programs that are, in fact, +external to the shell. +The shell is thus distinguished from the command interpreters of other +systems both by the fact that it is just a user program, and by the fact +that it is used almost exclusively as a mechanism for invoking other programs. +.PP +.I Commands +in the UNIX system consist of a list of strings or +.I words +interpreted as a +.I "command name" +followed by +.I arguments . +Thus the command +.DS +mail bill +.DE +consists of two words. +The first word +.I mail +names the command to be executed, in this case the +mail program which sends messages to other users. +The shell uses the name of the command in attempting to execute it for you. +It will look in a number of +.I directories +for a file with the name +.I mail +which is expected to contain the mail program. +.PP +The rest of the words of the command are given as +.I arguments +to the command itself when it is executed. +In this case we specified also the argument +.I bill +which is interpreted by the +.I mail +program to be the name of a user to whom mail is to be sent. +In normal terminal usage we might use the +.I mail +command as follows. +.DS +% mail bill +I have a question about the csh documentation. +My document seems to be missing page 5. +Does a page five exist? + Bill +EOT +% +.DE +.PP +Here we typed a message to send to +.I bill +and ended this message with a ^D which sent an end-of-file to +the mail program. +(Here and throughout this document, the notation ``^\fIx\fR'' +is to be read ``control-\fIx\fR'' and represents the striking of the \fIx\fR +key while the control key is held down.) +The mail program +then echoed the characters `EOT' and transmitted our message. +The characters `% ' were printed before and after the mail command +by the shell to indicate that input was needed. +.PP +After typing the `% ' prompt, the shell was reading command input from +our terminal. +We typed a complete command `mail bill'. +The shell then executed the +.I mail +program with argument +.I bill +and went dormant waiting for it to complete. +The mail program then read input from our terminal until we signaled +an end-of-file via typing a ^D after which the shell noticed +that mail had completed +and signaled us that it was ready to read from the terminal again by +printing another `% ' prompt. +.PP +This is the essential pattern of all interaction with UNIX +through the shell. +A complete command is typed at the terminal, the shell executes +the command and when this execution completes, it prompts for a new command. +If you run the editor for an hour, the shell will patiently wait for +you to finish editing and obediently prompt you again whenever you finish +editing. +.PP +An example of a useful command you can execute now is the +.I tset +command, which sets the default +.I erase +and +.I kill +characters on your terminal \- the erase character erases the last +character you typed and the kill character erases the entire line you +have entered so far. +By default, the erase character is the delete key (equivalent to `^?') +and the kill character is `^U'. Some people prefer to make the erase character +the backspace key (equivalent to `^H'). +You can make this be true by typing +.DS +tset \-e +.DE +which tells the program +.I tset +to set the erase character to tset's default setting for this character +(a backspace). +.NH 2 +Flag arguments +.PP +A useful notion in UNIX is that of a +.I flag +argument. +While many arguments to commands specify file names or user names, +some arguments rather specify an optional capability of the command +which you wish to invoke. +By convention, such arguments begin with the character `\-' (hyphen). +Thus the command +.DS +ls +.DE +will produce a list of the files in the current +.I "working directory" . +The option +.I \-s +is the size option, and +.DS +ls \-s +.DE +causes +.I ls +to also give, for each file the size of the file in blocks of 512 +characters. +The manual section for each command in the UNIX reference manual +gives the available options for each command. +The +.I ls +command has a large number of useful and interesting options. +Most other commands have either no options or only one or two options. +It is hard to remember options of commands which are not used very +frequently, so most UNIX utilities perform only one or two functions +rather than having a large number of hard to remember options. +.NH 2 +Output to files +.PP +Commands that normally read input or write output on the terminal +can also be executed with this input and/or output done to +a file. +.PP +Thus suppose we wish to save the current date in a file called `now'. +The command +.DS +date +.DE +will print the current date on our terminal. +This is because our terminal is the default +.I "standard output" +for the date command and the date command prints the date on its +standard output. +The shell lets us +.I redirect +the +.I "standard output" +of a command through a +notation using the +.I metacharacter +`>' and the name of the file where output is to be placed. +Thus the command +.DS +date > now +.DE +runs the +.I date +command such that its standard output is +the file `now' rather than the terminal. +Thus this command places the current date and time into the file `now'. +It is important to know that the +.I date +command was unaware that its output was going to a file rather than +to the terminal. +The shell performed this +.I redirection +before the command began executing. +.PP +One other thing to note here is that the file `now' +need not have existed before the +.I date +command was executed; the shell would have created the file if it did +not exist. +And if the file did exist? +If it had existed previously these previous contents would have been discarded! +A shell option +.I noclobber +exists to prevent this from happening accidentally; +it is discussed in section 2.2. +.PP +The system normally keeps files which you create with `>' and all other files. +Thus the default is for files to be permanent. If you wish to create a file +which will be removed automatically, you can begin its name with a `#' +character, this `scratch' character denotes the fact that the file will +be a scratch file.* +.FS +*Note that if your erase character is a `#', you will have to precede the +`#' with a `\e'. The fact that the `#' character is the old (pre-CRT) +standard erase character means that it seldom appears in a file name, and +allows this convention to be used for scratch files. If you are using a +CRT, your erase character should be a ^H, as we demonstrated +in section 1.1 how this could be set up. +.FE +The system will remove such files after a couple of days, +or sooner if file space becomes very tight. +Thus, in running the +.I date +command above, we don't really want to save the output forever, so we +would more likely do +.DS +date > #now +.DE +.NH 2 +Metacharacters in the shell +.PP +The shell has a large number of +special characters (like `>') +which indicate special functions. +We say that these notations have +.I syntactic +and +.I semantic +meaning to the shell. +In general, most characters which are neither letters nor digits +have special meaning to the shell. +We shall shortly learn a means of +.I quotation +which allows us to use +.I metacharacters +without the shell treating them in any special way. +.PP +Metacharacters normally have effect only when the shell is reading +our input. +We need not worry about placing shell metacharacters in a letter +we are sending via +.I mail , +or when we are typing in text or data to some other program. +Note that the shell is only reading input when it has prompted with +`% ' (although we can type our input even before it prompts). +.NH 2 +Input from files; pipelines +.PP +We learned above how to +.I redirect +the +.I "standard output" +of a command +to a file. +It is also possible to redirect the +.I "standard input" +of a command from a file. +This is not often necessary since most commands will read from +a file whose name is given as an argument. +We can give the command +.DS +sort < data +.DE +to run the +.I sort +command with standard input, where the command normally +reads its input, from the file +`data'. +We would more likely say +.DS +sort data +.DE +letting the +.I sort +command open the file +`data' +for input itself since this is less to type. +.PP +We should note that if we just typed +.DS +sort +.DE +then the sort program would sort lines from its +.I "standard input" . +Since we did not +.I redirect +the standard input, it would sort lines as we typed them on the terminal +until we typed a ^D to indicate an end-of-file. +.PP +A most useful capability is the ability to combine the standard output +of one command with the standard input of another, i.e. to run the +commands in a sequence known as a +.I pipeline . +For instance the command +.DS +ls \-s +.DE +normally produces a list of the files in our directory with the size +of each in blocks of 512 characters. +If we are interested in learning which of our files is largest we +may wish to have this sorted by size rather than by name, which is +the default way in which +.I ls +sorts. +We can look at the many options of +.I ls +to see if there was an option to do this, +or instead we can use a couple of simple options of the +.I sort +command, combining it with +.I ls +to get what we want. +.PP +The +.I \-n +option of sort specifies a numeric sort rather than an alphabetic sort. +Thus +.DS +ls \-s | sort \-n +.DE +specifies that the output of the +.I ls +command run with the option +.I \-s +is to be +.I piped +to the command +.I sort +run with the numeric sort option. +This would give us a sorted list of our files by size, but with the +smallest first. +We could then use the +.I \-r +reverse sort option and the +.I head +command in combination with the previous command doing +.DS +ls \-s | sort \-n \-r | head \-5 +.DE +Here we have taken a list of our files sorted alphabetically, +each with the size in blocks. +We have run this to the standard input of the +.I sort +command asking it to sort numerically in reverse order (largest first). +This output has then been run into the command +.I head +which gives us the first few lines. +In this case we have asked +.I head +for the first 5 lines. +Thus this command gives us the names and sizes of our 5 largest files. +.PP +The notation introduced above is called the +.I pipe +mechanism. +Commands separated by `\||\|' characters are connected together by the +shell, and the standard output of each is run into the standard input of the +next. +The leftmost command in a pipeline will normally take its standard +input from the terminal and the rightmost will place its standard +output on the terminal. +Other examples of pipelines will be given later when we discuss the +history mechanism; +one important use of pipes which is illustrated there is in the +routing of information to the line printer. +.NH 2 +Filenames +.PP +Many commands to be executed will need the names of files as arguments. +UNIX +.I pathnames +consist of a number of +.I components +separated by `/'. +Each component except the last names a directory in which the next +component resides, in effect specifying the +.I path +of directories to follow to reach the file. +Thus the pathname +.DS +/etc/motd +.DE +specifies a file in the directory +`etc' +which is a subdirectory of the +.I root +directory `/'. +Within this directory the file named is `motd' which stands +for `message of the day'. +A +.I pathname +that begins with a slash is said to be an +.I absolute +pathname since it is specified from the absolute top of the entire +directory hierarchy of the system (the +.I root ). +.I Pathnames +which do not begin with `/' are interpreted as starting in the current +.I "working directory" , +which is, by default, your +.I home +directory and can be changed dynamically by the +.I cd +change directory command. +Such pathnames are said to be +.I relative +to the working directory since they are found by starting +in the working directory and descending to lower levels of directories +for each +.I component +of the pathname. If the pathname contains no slashes at all then the +file is contained in the working directory itself and the pathname is merely +the name of the file in this directory. +Absolute pathnames have no relation +to the working directory. +.PP +Most filenames consist of a number of alphanumeric characters and +`.'s (periods). +In fact, all printing characters except `/' (slash) may appear in filenames. +It is inconvenient to have most non-alphabetic characters in filenames +because many of these have special meaning to the shell. +The character `.' (period) is not a shell-metacharacter and is often used +to separate the +.I extension +of a file name from the base of the name. +Thus +.DS +prog.c prog.o prog.errs prog.output +.DE +are four related files. +They share a +.I base +portion of a name +(a base portion being that part of the name that is left when a trailing +`.' and following characters which are not `.' are stripped off). +The file +`prog.c' +might be the source for a C program, +the file `prog.o' the corresponding object file, +the file +`prog.errs' the errors resulting from a compilation of the program +and the file +`prog.output' the output of a run of the program. +.PP +If we wished to refer to all four of these files in a command, we could +use the notation +.DS +prog.* +.DE +This expression is expanded by the shell, before the command to which it is +an argument is executed, into a list of names which begin with `prog.'. +The character `*' here matches any sequence (including the empty sequence) +of characters in a file name. +The names which match are alphabetically sorted and placed in the +.I "argument list" +of the command. +Thus the command +.DS +echo prog.* +.DE +will echo the names +.DS +prog.c prog.errs prog.o prog.output +.DE +Note that the names are in sorted order here, and a different +order than we listed them above. +The +.I echo +command receives four words as arguments, even though we only typed +one word as an argument directly. +The four words were generated by +.I "filename expansion" +of the one input word. +.PP +Other notations for +.I "filename expansion" +are also available. +The character `?' matches any single character in a filename. +Thus +.DS +echo ? \|?? \|??? +.DE +will echo a line of filenames; first those with one character names, +then those with two character names, and finally those with three +character names. +The names of each length will be independently sorted. +.PP +Another mechanism consists of a sequence of characters between `[' and `]'. +This metasequence matches any single character from the enclosed set. +Thus +.DS +prog.[co] +.DE +will match +.DS +prog.c prog.o +.DE +in the example above. +We can also place two characters around a `\-' in this notation to denote +a range. +Thus +.DS +chap.[1\-5] +.DE +might match files +.DS +chap.1 chap.2 chap.3 chap.4 chap.5 +.DE +if they existed. +This is shorthand for +.DS +chap.[12345] +.DE +and otherwise equivalent. +.PP +An important point to note is that if a list of argument words to +a command (an +.I "argument list)" +contains filename expansion syntax, and if this filename expansion syntax +fails to match any existing file names, then the shell considers this +to be an error and prints a diagnostic +.DS +No match. +.DE +and does not execute the command. +.PP +Another very important point is that files with the character `.' at the +beginning are treated specially. +Neither `*' nor `?' nor the `[' `]' mechanism will match it. +This prevents accidental matching of the filenames `.' and `..' +in the working directory which have special meaning to the system, +as well as other files such as +.I \&.cshrc +which are not normally +visible. +We will discuss the special role of the file +.I \&.cshrc +later. +.PP +Another filename expansion mechanism gives access to the pathname of +the +.I home +directory of other users. +This notation consists of the character `~' (tilde) followed by another user's +login name. +For instance the word `~bill' would map to the pathname `/home/bill' +if the home directory for `bill' was `/home/bill'. +Since, on large systems, users may have login directories scattered over +many different disk volumes with different prefix directory names, +this notation provides a convenient way of accessing the files +of other users. +.PP +A special case of this notation consists of a `~' alone, e.g. `~/mbox'. +This notation is expanded by the shell into the file `mbox' in +.I your +home directory, i.e. into `/home/bill/mbox' for me on Ernie Co-vax, the UCB +Computer Science Department VAX machine, where this document was prepared. +This can be very useful if you have used +.I cd +to change to another directory and have found a file you wish to +copy using +.I cp . +If I give the command +.DS +cp thatfile ~ +.DE +the shell will expand this command to +.DS +cp thatfile /home/bill +.DE +since my home directory is /home/bill. +.PP +There also exists a mechanism using the characters `{' and `}' for +abbreviating a set of words which have common parts but cannot +be abbreviated by the above mechanisms because they are not files, +are the names of files which do not yet exist, +are not thus conveniently described. +This mechanism will be described much later, +in section 4.2, +as it is used less frequently. +.NH 2 +Quotation +.PP +We have already seen a number of metacharacters used by the shell. +These metacharacters pose a problem in that we cannot use them directly +as parts of words. +Thus the command +.DS +echo * +.DE +will not echo the character `*'. +It will either echo a sorted list of filenames in the +current +.I "working directory" , +or print the message `No match' if there are +no files in the working directory. +.PP +The recommended mechanism for placing characters which are neither numbers, +digits, `/', `.', nor `\-' in an argument word to a command, is to enclose +it with single quotation characters `\'', i.e. +.DS +echo \'*\' +.DE +There is one special character `!' which is used by the +.I history +mechanism of the shell and which cannot be +.I escaped +by placing it within `\'' characters. +It and the character `\'' itself can be preceded by a single `\e' +to prevent their special meaning. +Thus +.DS +echo \e\'\e! +.DE +prints +.DS +\'! +.DE +These two mechanisms suffice to place any printing character into a word +which is an argument to a shell command. They can be combined, as in +.DS +echo \e\'\'*\' +.DE +which prints +.DS +\'* +.DE +since the first `\e' escaped the first `\'' and the `*' was enclosed +between `\'' characters. +.NH 2 +Terminating commands +.PP +When you are executing a command and the shell is +waiting for it to complete, there are several ways +to force it to stop. +For instance if you type the command +.DS +cat /etc/passwd +.DE +the system will print a copy of a list of all users of the system +on your terminal. +This is likely to continue for several minutes unless you stop it. +You can send an +INTERRUPT +.I signal +to the +.I cat +command by typing ^C on your terminal.* +.FS +*On some older Unix systems the DEL or RUBOUT key +has the same effect. "stty all" will tell you the `intr' key value. +.FE +Since +.I cat +does not take any precautions to avoid or otherwise handle this signal, +the +INTERRUPT +will cause it to terminate. +The shell notices that +.I cat +has terminated and prompts you again with `% '. +If you hit INTERRUPT again, the shell will just +repeat its prompt since it handles INTERRUPT signals +and chooses to continue to execute commands rather than terminating +like +.I cat +did, which would have the effect of logging you out. +.PP +Another way in which many programs terminate is when they get an end-of-file +from their standard input. +Thus the +.I mail +program in the first example above was terminated when we typed a ^D +which generates an end-of-file from the standard input. +The shell also terminates when it gets an end-of-file, printing `logout'; +UNIX then logs you off the system. +Since this means that typing too many ^D's can accidentally log us off, +the shell has a mechanism for preventing this. +This +.I ignoreeof +option will be discussed in section 2.2. +.PP +If a command has its standard input redirected from a file, then it will +normally terminate when it reaches the end of this file. +Thus if we execute +.DS +mail bill < prepared.text +.DE +the mail command will terminate without our typing a ^D. +This is because it read to the end-of-file of our file +`prepared.text' in which we placed a message for `bill' with an editor program. +We could also have done +.DS +cat prepared.text \||\| mail bill +.DE +since the +.I cat +command would then have written the text through the pipe to the +standard input of the mail command. +When the +.I cat +command completed it would have terminated, +closing down the pipeline +and the +.I mail +command would have received an end-of-file from it and terminated. +Using a pipe here is more complicated than redirecting input +so we would more likely use the first form. +These commands could also have been stopped by sending an INTERRUPT. +.PP +Another possibility for stopping a command is to suspend its execution +temporarily, with the possibility of continuing execution later. This is +done by sending a STOP signal via typing a ^Z. +This signal causes all commands running on the terminal +(usually one, but more if a pipeline is executing) to become suspended. +The shell notices that the command(s) have been suspended, types +`Suspended', and then prompts for a new command. +The previously executing command has been suspended, but otherwise +unaffected by the STOP signal. Any other commands can be executed +while the original command remains suspended. The suspended command can +be continued using the +.I fg +command with no arguments. The shell will then retype the command +to remind you which command is being continued, and cause the command +to resume execution. Unless any input files in use by the suspended +command have been changed in the meantime, the suspension has no effect +whatsoever on the execution of the command. This feature can be very useful +during editing, when you need to look at another file before continuing. An +example of command suspension follows. +.DS +% mail harold +Someone just copied a big file into my directory and its name is +^Z +Suspended +% ls +funnyfile +prog.c +prog.o +% jobs +.ta 1.75i +[1] + Suspended mail harold +% fg +mail harold +(continue) +funnyfile. Do you know who did it? +EOT +% +.so tabs +.DE +In this example someone was sending a message to Harold and forgot the +name of the file he wanted to mention. The mail command was suspended +by typing ^Z. When the shell noticed that the mail program was +suspended, it typed `Suspended' and prompted for a new command. Then the +.I ls +command was typed to find out the name of the file. The +.I jobs +command was run to find out which command was suspended. At this time the +.I fg +command was typed to continue execution of the mail program. Input +to the mail program was then continued and ended with a ^D +which indicated the end of the message at which time the mail +program typed EOT. The +.I jobs +command will show which commands are suspended. +The ^Z should only be typed at the beginning of a line since +everything typed on the current line is discarded when a signal is sent +from the keyboard. This also happens on INTERRUPT, and QUIT +signals. More information on +suspending jobs and controlling them is given in +section 2.6. +.PP +If you write or run programs which are not fully debugged, then it may +be necessary to stop them somewhat ungracefully. +This can be done by sending them a QUIT +signal, sent by typing a ^\e. +This will usually provoke the shell to produce a message like: +.DS +Quit (core dumped) +.DE +indicating that a file +`core' has been created containing information about the running program's +state when it terminated due to the QUIT signal. +You can examine this file yourself, or forward information to the +maintainer of the program telling him/her where the +.I "core file" +is. +.PP +If you run background commands (as explained in section 2.6) then these +commands will ignore INTERRUPT and QUIT signals at the +terminal. To stop them you must use the +.I kill +command. See section 2.6 for an example. +.PP +If you want to examine the output of a command without having it move +off the screen as the output of the +.DS +cat /etc/passwd +.DE +command will, you can use the command +.DS +more /etc/passwd +.DE +The +.I more +program pauses after each complete screen-full and types `[filename] %', +at which point you can hit a space to get another screen full, a return +to get another line, an `h' to get some help on other commands, or a `q' to end the +.I more +program. You can also use more as a filter, i.e. +.DS +cat /etc/passwd | more +.DE +works just like the more simple more command above. +.PP +For stopping output of commands not involving +.I more , +you can use the +^S key to stop the typeout. The typeout will resume when you +hit ^Q or any other key, but ^Q is normally used because +it only restarts the output and does not become input to the program +which is running. This works well on low-speed terminals, but at 9600 +baud it is hard to type ^S and ^Q fast enough to paginate +the output nicely, and a program like +.I more +is usually used. +.PP +An additional possibility is to use the ^O flush output +character; when this character is typed, all output from the current +command is thrown away (quickly) until the next input read occurs +or until the next shell prompt. This can be used to allow a command +to complete without having to suffer through the output on a slow +terminal; ^O is a toggle, so flushing can be turned off by +typing ^O again while output is being flushed. +.NH 2 +What now? +.PP +We have so far seen a number of mechanisms of the shell and learned a lot +about the way in which it operates. +The remaining sections will go yet further into the internals of the +shell, but you will surely want to try using the +shell before you go any further. +To try it you can log in to UNIX and type the following +command to the system: +.DS +chsh -s /bin/csh myname +.DE +Here `myname' should be replaced by the name you typed to +the system prompt of `login:' to get onto the system. +Thus I would use `chsh -s /bin/csh bill'. +.B +You only have to do this once; it takes effect at next login. +.R +You are now ready to try using +.I csh . +.PP +Before you do the `chsh' command, the shell you are using when +you log into the system is `/bin/sh'. +In fact, much of the above discussion is applicable to `/bin/sh'. +The next section will introduce many features particular to +.I csh +so you should change your shell to +.I csh +before you begin reading it. +.bp diff --git a/static/openbsd/man1/csplit.1 b/static/openbsd/man1/csplit.1 new file mode 100644 index 00000000..2d73b4b0 --- /dev/null +++ b/static/openbsd/man1/csplit.1 @@ -0,0 +1,168 @@ +.\" $OpenBSD: csplit.1,v 1.13 2022/12/22 19:53:22 kn Exp $ +.\" +.\" Copyright (c) 2002 Tim J. Robbins. +.\" 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. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. +.\" +.\" $FreeBSD: src/usr.bin/csplit/csplit.1,v 1.11 2005/01/25 22:29:51 tjr Exp $ +.\" +.Dd $Mdocdate: December 22 2022 $ +.Dt CSPLIT 1 +.Os +.Sh NAME +.Nm csplit +.Nd split files based on context +.Sh SYNOPSIS +.Nm +.Op Fl ks +.Op Fl f Ar prefix +.Op Fl n Ar number +.Ar file +.Ar arg ... +.Sh DESCRIPTION +The +.Nm +utility splits +.Ar file +into pieces using the pattern +.Ar arg . +If +.Ar file +is +a dash +.Pq Sq - , +.Nm +reads from standard input. +.Pp +Files are created with a prefix of +.Dq xx +and two decimal digits. +The size of each file is written to standard output +as it is created. +If an error occurs whilst files are being created, +or a +.Dv HUP , +.Dv INT , +or +.Dv TERM +signal is received, +all files previously written are removed. +.Pp +The options are as follows: +.Bl -tag -width indent +.It Fl f Ar prefix +Create file names beginning with +.Ar prefix , +instead of +.Dq xx . +.It Fl k +Do not remove previously created files if an error occurs or a +.Dv HUP , +.Dv INT , +or +.Dv TERM +signal is received. +.It Fl n Ar number +Create file names beginning with +.Ar number +of decimal digits after the prefix, +instead of 2. +.It Fl s +Do not write the size of each output file to standard output as it is +created. +.El +.Pp +The +.Ar arg +operand may be a combination of the following patterns: +.Bl -tag -width indent +.It Xo +.Sm off +.No / Ar regexp No / +.Op Oo Cm + | - Oc Ar offset +.Sm on +.Xc +Create a file containing the input from the current line to (but not including) +the next line matching the given basic regular expression. +An optional +.Ar offset +from the line that matched may be specified. +.It Xo +.Sm off +.No % Ar regexp No % +.Op Oo Cm + | - Oc Ar offset +.Sm on +.Xc +Same as above but a file is not created for the output. +.It Ar line_no +Create containing the input from the current line to (but not including) +the specified line number. +.It { Ns Ar num Ns } +Repeat the previous pattern the specified number of times. +If it follows a line number pattern, a new file will be created for each +.Ar line_no +lines, +.Ar num +times. +The first line of the file is line number 1 for historic reasons. +.El +.Pp +After all the patterns have been processed, the remaining input data +(if there is any) will be written to a new file. +.Pp +Requesting to split at a line before the current line number or past the +end of the file will result in an error. +.Sh EXIT STATUS +.Ex -std csplit +.Sh EXAMPLES +Split the +.Xr mdoc 7 +file +.Pa foo.1 +into one file for each section (up to 21 files): +.Pp +.Dl "$ csplit -k foo.1 '%^\e.Sh%' '/^\e.Sh/' '{20}'" +.Pp +Split standard input after the first 99 lines and every 100 lines +thereafter (up to 21 files): +.Pp +.Dl "$ csplit -k - 100 '{19}'" +.Sh SEE ALSO +.Xr sed 1 , +.Xr split 1 , +.Xr re_format 7 +.Sh STANDARDS +The +.Nm +utility is compliant with the +.St -p1003.1-2008 +specification. +.Sh HISTORY +A +.Nm +command appeared in PWB +.Ux . +.Sh BUGS +Input lines are limited to +.Dv LINE_MAX +(2048) bytes in length. diff --git a/static/openbsd/man1/ctags.1 b/static/openbsd/man1/ctags.1 new file mode 100644 index 00000000..725ea791 --- /dev/null +++ b/static/openbsd/man1/ctags.1 @@ -0,0 +1,232 @@ +.\" $OpenBSD: ctags.1,v 1.34 2019/07/15 21:01:53 schwarze Exp $ +.\" $NetBSD: ctags.1,v 1.4 1995/03/26 20:14:04 glass Exp $ +.\" +.\" Copyright (c) 1987, 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. 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. +.\" +.\" @(#)ctags.1 8.1 (Berkeley) 6/6/93 +.\" +.Dd $Mdocdate: July 15 2019 $ +.Dt CTAGS 1 +.Os +.Sh NAME +.Nm ctags +.Nd create a tags file +.Sh SYNOPSIS +.Nm ctags +.Op Fl aBdFuvwx +.Op Fl f Ar tagsfile +.Ar +.Sh DESCRIPTION +.Nm +makes a tags file from the specified C, Pascal, Fortran, +YACC, lex, and Lisp sources. +A tags file gives the locations of specified objects in a group of files. +Each line of the tags file contains the object name, the file in which it +is defined, and a search pattern for the object definition, separated by +whitespace. +.Pp +Using the +.Ar tags +file, +a text editor such as +.Xr ex 1 +or +.Xr vi 1 +can quickly locate these object definitions. +Indexed objects include subroutines, typedefs, defines, structs, +enums, and unions. +.Pp +The options are as follows: +.Bl -tag -width Ds +.It Fl a +Append to +.Ar tags +file. +.It Fl B +Use backward searching patterns +.Pq Li ?...? . +.It Fl d +Create tags for +.Li #defines +that don't take arguments; +.Li #defines +that take arguments are tagged automatically. +.It Fl F +Use forward searching patterns +.Pq Li /.../ +(the default). +.It Fl f Ar tagsfile +Places the tag descriptions in a file called +.Ar tagsfile . +The default behaviour is to place them in a file called +.Ar tags . +.It Fl u +Update the specified files in the +.Ar tags +file; that is, all +references to them are regenerated, keeping only the other values in the +file. +.It Fl v +An index of the form expected by the +.Pa textproc/vgrind +port is produced on the standard output. +This listing contains the object name, file name, and page number (assuming +64 line pages). +Since the output will be sorted into lexicographic order, +it may be desired to run the output through +.Xr sort 1 . +Sample use: +.Bd -literal -offset indent +$ ctags -v files | sort -f > index +$ vgrind -x index +.Ed +.It Fl w +Suppress warning diagnostics. +.It Fl x +.Nm +produces a list of object +names, the line number and file name on which each is defined, as well +as the text of that line and prints this on the standard output. +This is a simple index which can be printed out as an off-line readable +function index. +.El +.Pp +Files whose names end in +.Dq \&.c +or +.Dq \&.h +are assumed to be C +source files and are searched for C style routine and macro definitions. +Files whose names end in +.Dq \&.y +are assumed to be +.Xr yacc 1 +source files. +Files whose names end in +.Dq \&.l +are assumed to be Lisp files if their +first non-blank character is +.Ql \&; , +.Ql \&( , +or +.Ql \&[ , +otherwise, they are +treated as lex files. +Other files are first examined to see if they +contain any Pascal or Fortran routine definitions and, if not, are +searched for C style definitions. +.Pp +The tag +.Li main +is treated specially in C programs. +The tag formed is created by prepending +.Sq M +to the name of the file, with the +trailing +.Dq \&.c +and any leading pathname components removed. +This makes use of +.Nm +practical in directories with more than one program. +.Pp +Yacc and lex files each have a special tag. +.Ar yyparse +is the start +of the second section of the yacc file, and +.Ar yylex +is the start of +the second section of the lex file. +.Sh FILES +.Bl -tag -width tags -compact +.It Pa tags +default output tags file +.El +.Sh EXIT STATUS +.Ex -std ctags +.Pp +Duplicate objects are not considered errors. +.Sh SEE ALSO +.Xr mg 1 , +.Xr vi 1 +.Sh STANDARDS +The +.Nm +utility is compliant with the +.St -p1003.1-2008 +specification, +though its presence is optional. +.Pp +The flags +.Op Fl BdFuvw +are extensions to that specification. +.Pp +Support for Pascal, YACC, lex, and Lisp source files +is an +.St -p1003.1-2008 +extension. +The standard notes that +.Nm +is +.Qo +not required to accommodate these languages, +although implementors are encouraged to do so +.Qc . +.Sh HISTORY +The +.Nm +command appeared in +.Bx 2 . +.Sh BUGS +Recognition of functions, subroutines, and procedures for FORTRAN +and Pascal is done in a very simple-minded way. +No attempt +is made to deal with block structure; if you have two Pascal procedures +in different blocks with the same name you lose. +.Nm +doesn't +understand about Pascal types. +.Pp +The method of deciding whether to look for C, Pascal or FORTRAN +functions is a hack. +.Pp +.Nm +relies on the input being well formed, and any syntactical +errors will completely confuse it. +It also finds some legal syntax confusing; for example, +since it doesn't understand +.Li #ifdef Ns 's +(incidentally, that's a feature, not a bug), any code with unbalanced +braces inside +.Li #ifdef Ns 's +will cause it to become somewhat disoriented. +In a similar fashion, multiple line changes within a definition will +cause it to enter the last line of the object, rather than the first, as +the searching pattern. +The last line of multiple line +.Li typedef Ns 's +will similarly be noted. diff --git a/static/openbsd/man1/ctfconv.1 b/static/openbsd/man1/ctfconv.1 new file mode 100644 index 00000000..7e37ba51 --- /dev/null +++ b/static/openbsd/man1/ctfconv.1 @@ -0,0 +1,67 @@ +.\" $OpenBSD: ctfconv.1,v 1.8 2017/10/17 22:47:58 schwarze Exp $ +.\" +.\" Copyright (c) 2016 Martin Pieuchot +.\" +.\" Permission to use, copy, modify, and distribute this software for any +.\" purpose with or without fee is hereby granted, provided that the above +.\" copyright notice and this permission notice appear in all copies. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +.\" +.Dd $Mdocdate: October 17 2017 $ +.Dt CTFCONV 1 +.Os +.Sh NAME +.Nm ctfconv +.Nd generates a raw CTF section from debug data +.Sh SYNOPSIS +.Nm ctfconv +.Op Fl d +.Fl l Ar label +.Fl o Ar outfile +.Ar file +.Sh DESCRIPTION +The +.Nm +utility parses DWARF debug sections of +.Ar file +to generate +.Dv CTF +data. +.Pp +The options are as follows: +.Bl -tag -width Ds +.It Fl d +Display types as if they would be dumped from a +.Dv .SUNW_ctf +section by +.Xr ctfdump 1 +and exit. +This option cannot be used in conjunction with other modes of operation. +.It Fl l Ar label +Set the +.Dv CTF +label to +.Ar label . +.It Fl o Ar outfile +Write the raw section in +.Ar outfile . +.El +.Sh EXIT STATUS +.Ex -std ctfconv +.Sh SEE ALSO +.Xr ctfdump 1 , +.Xr ctfstrip 1 +.Sh HISTORY +The +.Nm +utility first appeared in +.Ox 6.2 . +.Sh AUTHORS +.An Martin Pieuchot Aq Mt mpi@openbsd.org diff --git a/static/openbsd/man1/ctfdump.1 b/static/openbsd/man1/ctfdump.1 new file mode 100644 index 00000000..d910c5e9 --- /dev/null +++ b/static/openbsd/man1/ctfdump.1 @@ -0,0 +1,61 @@ +.\" $OpenBSD: ctfdump.1,v 1.4 2017/10/17 22:47:58 schwarze Exp $ +.\" +.\" Copyright (c) 2016 Martin Pieuchot +.\" +.\" Permission to use, copy, modify, and distribute this software for any +.\" purpose with or without fee is hereby granted, provided that the above +.\" copyright notice and this permission notice appear in all copies. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +.\" +.Dd $Mdocdate: October 17 2017 $ +.Dt CTFDUMP 1 +.Os +.Sh NAME +.Nm ctfdump +.Nd display CTF information +.Sh SYNOPSIS +.Nm ctfdump +.Op Fl dfhlst +.Ar +.Sh DESCRIPTION +The +.Nm +utility displays CTF information from the +.Dv .SUNW_ctf +section of an +.Xr elf 5 +file or from a raw CTF file. +.Pp +The options are as follows: +.Bl -tag -width Ds +.It Fl d +Display the object section. +.It Fl f +Display the function section. +.It Fl h +Dump the CTF header. +.It Fl l +Display the label section. +.It Fl s +Display the string table. +.It Fl t +Display the type section. +.El +.Sh EXIT STATUS +.Ex -std ctfdump +.Sh SEE ALSO +.Xr elf 5 +.Sh HISTORY +The +.Nm +utility first appeared in +.Ox 6.2 . +.Sh AUTHORS +.An Martin Pieuchot Aq Mt mpi@openbsd.org diff --git a/static/openbsd/man1/ctfstrip.1 b/static/openbsd/man1/ctfstrip.1 new file mode 100644 index 00000000..8223a46d --- /dev/null +++ b/static/openbsd/man1/ctfstrip.1 @@ -0,0 +1,52 @@ +.\" $OpenBSD: ctfstrip.1,v 1.5 2017/08/28 10:07:57 jmc Exp $ +.\" +.\" Copyright (c) 2017 Martin Pieuchot +.\" +.\" Permission to use, copy, modify, and distribute this software for any +.\" purpose with or without fee is hereby granted, provided that the above +.\" copyright notice and this permission notice appear in all copies. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +.\" +.Dd $Mdocdate: August 28 2017 $ +.Dt CTFSTRIP 1 +.Os +.Sh NAME +.Nm ctfstrip +.Nd insert a CTF section +.Sh SYNOPSIS +.Nm ctfstrip +.Op Fl S +.Op Fl o Ar outfile +.Ar file +.Sh DESCRIPTION +The +.Nm +utility generates and inserts a +.Dv .SUNW_ctf +section in an +.Xr elf 5 +file based on the contents of its existing DWARF debug sections. +.Pp +The options are as follows: +.Bl -tag -width Ds +.It Fl o Ar outfile +Put the converted output in +.Ar outfile +instead of replacing +.Ar file . +.It Fl S +Remove debug sections. +.El +.Sh EXIT STATUS +.Ex -std ctfstrip +.Sh SEE ALSO +.Xr ctfconv 1 , +.Xr strip 1 , +.Xr elf 5 diff --git a/static/openbsd/man1/cu.1 b/static/openbsd/man1/cu.1 new file mode 100644 index 00000000..2b03115e --- /dev/null +++ b/static/openbsd/man1/cu.1 @@ -0,0 +1,224 @@ +.\" $OpenBSD: cu.1,v 1.25 2023/10/03 05:20:38 jmc Exp $ +.\" +.\" Copyright (c) 1980, 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. 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. +.\" +.Dd $Mdocdate: October 3 2023 $ +.Dt CU 1 +.Os +.Sh NAME +.Nm cu +.Nd serial terminal emulator +.Sh SYNOPSIS +.Nm +.Op Fl dr +.Op Fl E Ar escape_char +.Op Fl l Ar line +.Op Fl s Ar speed | Fl Ar speed +.Nm +.Op Ar host +.Sh DESCRIPTION +.Nm +is used to connect to another system over a serial link. +In the era before modern networks, it was typically used to +connect to a modem in order to dial in to a remote host. +It is now frequently used for tasks such as attaching to the +serial console of another machine for administrative or +debugging purposes. +.Pp +The options are as follows: +.Bl -tag -width 4n +.It Fl d +Specify that the line is directly connected and +.Nm +should not allow the driver to block waiting for a carrier to be detected. +.It Fl E Ar escape_char +Specify an escape character to use instead of the default tilde. +.It Fl l Ar line +Specify the line to use. +Any of the forms +.Pa cua00 , +.Pa /dev/cua00 , +or +.Pa usb0.1.00002.3 +are permitted. +.Pp +The default is +.Pa /dev/cua00 . +See +.Xr cua 4 +for information on terminal devices. +Users in group +.Dq dialer +are permitted to use +.Xr cua 4 +devices by default. +.Pp +See +.Xr sysctl 2 +.Va hw.ucomnames +for available USB serial lines. +.It Fl r +Start +.Nm +in restricted mode. +This prevents all local filesystem operations +.Po +.Cm ~R , +.Cm ~X , +and +.Cm ~> +.Pc +and command executions +.Po +.Cm ~C +and +.Cm ~$ +.Pc . +.It Fl s Ar speed | Fl Ar speed +Set the speed of the connection. +The default is 9600. +.El +.Pp +If +.Ar host +is given, +.Nm +uses the +.Xr remote 5 +database to retrieve the +.Sy dc Pq directly connected , +.Sy dv Pq device +and +.Sy br Pq baud rate +capabilities for that host. +The +.Nm +utility ignores other capabilities found in that database. +.Pp +Typed characters are normally transmitted directly to the remote +machine (which does the echoing as well). +A tilde +.Pq Ql ~ +appearing as the first character of a line is an escape signal; the +following are recognized: +.Bl -tag -offset indent -width Fl +.It Ic ~^D No or Ic ~. +Drop the connection and exit. +Only the connection is dropped \(en the login session is not terminated. +.It Ic ~> +Copy file from local to remote. +.Nm +prompts for the name of a local file to transmit. +.It Ic ~$ +Pipe the output from a local +.Ux +process to the remote host. +The command string sent to the local +.Ux +system is processed by the shell. +.It Ic ~# +Send a +.Dv BREAK +to the remote system. +.It Ic ~^Z +Stop +.Nm +(only available with job control). +.It Ic ~C +Fork a child process on the local system to perform special protocols +such as XMODEM. +The child program will be run with the following arrangement of +file descriptors: +.Pp +.Bl -item -compact -offset indent +.It +0 \(<> remote tty in +.It +1 \(<> remote tty out +.It +2 \(<> local tty stderr +.El +.It Ic ~D +Deassert the data terminal ready (DTR) line briefly. +.It Ic ~R +Record all output from the remote system to a file. +If the given file already exists, it is appended to. +If no file is specified, any existing recording is stopped. +.It Ic ~S +Change the speed of the connection. +.It Ic ~X +Send a file with the XMODEM protocol. +.It Ic ~? +Get a summary of the tilde escapes. +.El +.Pp +When +.Nm +prompts for an argument, for example during setup of a file transfer, +the line typed may be edited with the standard erase and kill characters. +A null line in response to a prompt, or an interrupt, will abort the +dialogue and return the user to the remote machine. +.Pp +.Nm +guards against multiple users connecting to a remote system by opening +modems and terminal lines with exclusive access. +.Sh ENVIRONMENT +.Bl -tag -width REMOTEXXX +.It Ev HOST +The default value for +.Ar host +if none is specified via the command line. +.It Ev REMOTE +A system description, or an absolute path to a +.Xr remote 5 +system description database. +.El +.Sh FILES +.Bl -tag -width /etc/remote +.It Pa /etc/remote +host description file +.El +.Sh EXIT STATUS +.Ex -std cu +.Sh SEE ALSO +.Xr sysctl 2 , +.Xr cua 4 , +.Xr remote 5 +.Sh HISTORY +The +.Nm +.Pq Dq Call Unix +command first appeared outside of Bell Labs in PWB/UNIX 1.0. +It was reimplemented as part of the +.Nm tip +command in +.Bx 4.1c . +The current version was written for +.Ox 5.4 . +.Sh AUTHORS +.An Nicholas Marriott Aq Mt nicm@openbsd.org diff --git a/static/openbsd/man1/cut.1 b/static/openbsd/man1/cut.1 new file mode 100644 index 00000000..5dfeff59 --- /dev/null +++ b/static/openbsd/man1/cut.1 @@ -0,0 +1,184 @@ +.\" $OpenBSD: cut.1,v 1.28 2022/08/04 15:38:33 schwarze Exp $ +.\" $NetBSD: cut.1,v 1.6 1995/10/02 20:19:26 jtc Exp $ +.\" +.\" Copyright (c) 1989, 1990, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" the Institute of Electrical and Electronics Engineers, Inc. +.\" +.\" 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. 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. +.\" +.\" @(#)cut.1 8.1 (Berkeley) 6/6/93 +.\" +.Dd $Mdocdate: August 4 2022 $ +.Dt CUT 1 +.Os +.Sh NAME +.Nm cut +.Nd select portions of each line of a file +.Sh SYNOPSIS +.Nm cut +.Fl b Ar list +.Op Fl n +.Op Ar +.Nm cut +.Fl c Ar list +.Op Ar +.Nm cut +.Fl f Ar list +.Op Fl s +.Op Fl d Ar delim +.Op Ar +.Sh DESCRIPTION +The +.Nm +utility selects portions of each line (as specified by +.Ar list ) +from each +.Ar file +and writes them to the standard output. +If no +.Ar file +arguments are specified, or a file argument is a single dash +.Pq Sq \- , +.Nm +reads from the standard input. +The items specified by +.Ar list +can be in terms of column position or in terms of fields delimited +by a special character. +Column and field numbering starts from 1; +output is in the same order as input, not in the order selected. +.Pp +.Ar list +is a comma or whitespace separated set of numbers and/or +number ranges. +Number ranges consist of a number, a dash +.Pq Sq \- , +and a second number +which select the fields or columns from the first number to the second, +inclusive. +Numbers or number ranges may be preceded by a dash, which selects all +fields or columns from 1 to the first number. +Numbers or number ranges may be followed by a dash, which selects all +fields or columns from the last number to the end of the line. +Numbers and number ranges may be repeated, overlapping, and in any order. +It is not an error to select fields or columns not present in the +input line. +.Pp +The options are as follows: +.Bl -tag -width Ds +.It Fl b Ar list +The +.Ar list +specifies byte positions. +.It Fl c Ar list +The +.Ar list +specifies character positions. +.It Fl d Ar delim +Use the first character of +.Ar delim +as the field delimiter character. +The default is the +.Aq TAB +character. +.It Fl f Ar list +The +.Ar list +specifies fields, separated by the field delimiter character. +The selected fields are output, +separated by the field delimiter character. +.It Fl n +Do not split multi-byte characters. +A character is written to standard output if and only if the byte +position holding its last byte is selected. +.It Fl s +Suppresses lines with no field delimiter characters. +Unless specified, lines with no delimiters are passed through unmodified. +.El +.Sh ENVIRONMENT +.Bl -tag -width LC_CTYPE +.It Ev LC_CTYPE +The character encoding +.Xr locale 1 . +It decides which byte sequences form characters. +If unset or set to +.Qq C , +.Qq POSIX , +or an unsupported value, +.Fl c +does the same as +.Fl b , +.Fl n +has no effect, and +.Fl d +uses the first byte of +.Ar delim . +.El +.Sh EXIT STATUS +The +.Nm +utility exits 0 if all input files are output successfully, +and >0 if an error occurs. +.Sh EXAMPLES +Extract login names and shells from the system +.Xr passwd 5 +file as +.Dq name:shell +pairs: +.Pp +.Dl "$ cut -d : -f 1,7 /etc/passwd" +.Pp +Show the names and login times of logged in users: +.Pp +.Dl "$ who | cut -c 1-8,18-30" +.Sh SEE ALSO +.Xr awk 1 , +.Xr paste 1 +.Sh STANDARDS +The +.Nm +utility is compliant with the +.St -p1003.1-2008 +specification. +.Sh HISTORY +A +.Nm +command first appeared outside Bell Labs in +.At III +and has been available since +.Bx 4.3 Reno . +.Sh AUTHORS +.An -nosplit +The original Bell Labs version was written by +.An Gottfried W. R. Luderer +and the +.Bx +version by +.An Adam S. Moskowitz +and +.An Marciano Pitargue . diff --git a/static/openbsd/man1/cvs.1 b/static/openbsd/man1/cvs.1 new file mode 100644 index 00000000..511b0282 --- /dev/null +++ b/static/openbsd/man1/cvs.1 @@ -0,0 +1,2155 @@ +.TH CVS 1 "\*(Dt" +.SH "NAME" +cvs \- Concurrent Versions System +.SH "SYNOPSIS" +.TP +\fBcvs\fP [ \fIcvs_options\fP ] +.I cvs_command +[ +.I command_options +] [ +.I command_args +] +.SH "NOTE" +This manpage is a summary of some of the features of +.B cvs +but for more in-depth documentation, consult the Cederqvist manual (as +described in the SEE ALSO section of this manpage). +.SH "DESCRIPTION" +.IX "revision control system" "\fLcvs\fR" +.IX cvs "" "\fLcvs\fP \- concurrent versions system" +.IX "concurrent versions system \- \fLcvs\fP" +.IX "release control system" "cvs command" "" "\fLcvs\fP \- concurrent versions system" +.IX "source control system" "cvs command" "" "\fLcvs\fP \- concurrent versions system" +.IX revisions "cvs command" "" "\fLcvs\fP \- source control" +CVS is a version control system, which allows you to keep old versions +of files (usually source code), keep a log of who, when, and why +changes occurred, etc., like RCS or SCCS. Unlike the simpler systems, +CVS does not just operate on one file at a time or one directory at a +time, but operates on hierarchical collections of directories +consisting of version controlled files. CVS helps to manage releases +and to control the concurrent editing of source files among multiple +authors. CVS allows triggers to enable/log/control various +operations and works well over a wide area network. +.sp +.B cvs +keeps a single copy of the master sources. +This copy is called the source ``repository''; it contains all the +information to permit extracting previous software releases at any +time based on either a symbolic revision tag, or a date in the past. +.SH "ESSENTIAL COMMANDS" +.B cvs +provides a rich variety of commands (\fIcvs_command\fP in the +Synopsis), each of which often has a wealth of options, to satisfy the +many needs of source management in distributed environments. However, +you don't have to master every detail to do useful work with +.BR cvs ; +in fact, five commands are sufficient to use (and contribute to) +the source repository. +.TP +\fBcvs checkout\fP \fImodules\fP\|.\|.\|. +A necessary preliminary for most \fBcvs\fP work: creates your private +copy of the source for \fImodules\fP (named collections of source; you +can also use a path relative to the source repository here). You can +work with this copy without interfering with others' work. At least +one subdirectory level is always created. +.TP +.B cvs update +Execute this command from \fIwithin\fP your private source +directory when you wish to update your copies of source files from +changes that other developers have made to the source in the +repository. +.TP +\fBcvs add\fP \fIfile\fP\|.\|.\|. +Use this command to enroll new files in \fBcvs\fP records of your +working directory. The files will be added to the repository the next +time you run +.RB ` "\|cvs commit\|" '. +Note: +You should use the +.RB ` "\|cvs import\|" ' +command to bootstrap new sources into the source repository. +.RB ` "\|cvs add\|" ' +is only used for new files to an already checked-out module. +.TP +\fBcvs remove\fP \fIfile\fP\|.\|.\|. +Use this command (after erasing any files listed) to declare that you +wish to eliminate files from the repository. The removal does not +affect others until you run +.RB ` "\|cvs commit\|" '. +.TP +\fBcvs commit\fP \fIfile\fP\|.\|.\|. +Use this command when you wish to ``publish'' your changes to other +developers, by incorporating them in the source repository. +.SH "OPTIONS" +The +.B cvs +command line can include +.IR cvs_options , +which apply to the overall +.B cvs +program; a +.IR cvs_command , +which specifies a particular action on the source repository; and +.I command_options +and +.I command_arguments +to fully specify what the +.I cvs_command +will do. +.sp +.I Warning: +you must be careful of precisely where you place options relative to the +.IR cvs_command . +The same option can mean different things depending on whether it +is in the +.I cvs_options +position (to the left of a +.B cvs +command) or in the +.I command_options +position (to the right of a +.B cvs +command). +.sp +There are only two situations where you may omit +.IR cvs_command : +.RB ` "\|cvs \-H\|" ' +or +.RB ` "\|cvs --help\|" ' +elicits a list of available commands, and +.RB ` "\|cvs \-v\|" ' +or +.RB ` "\|cvs --version\|" ' +displays version information on \fBcvs\fP itself. +.sp +.SH "CVS OPTIONS" +As of release 1.6, +.B cvs +supports +.SM GNU +style long options as well as short options. Only +a few long options are currently supported, these are listed in +brackets after the short options whose functions they duplicate. +.sp +Use these options to control the overall +.B cvs +program: +.TP +.B \-H [ --help ] +Display usage information about the specified +.I cvs_command +(but do not actually execute the command). If you don't specify a +command name, +.RB ` "\|cvs \-H\|" ' +displays a summary of all the commands available. +.TP +.B \-R +Allows +.B cvs +to run properly without write access to its log file. See also the +.SM CVSREADONLYFS +environment variable. +.TP +.B \-Q +Causes the command to be +.I really +quiet; the command will generate output only for serious problems. +.TP +.B \-q +Causes the command to be somewhat quiet; informational messages, such +as reports of recursion through subdirectories, are suppressed. +.TP +\fB\-b\fP \fIbindir\fP +Use +.I bindir +as the directory where +.SM RCS +programs are located (CVS 1.9 and older). +Overrides the setting of the +.SM RCSBIN +environment variable. +This value should be specified as an absolute pathname. +.TP +\fB\-d\fP \fICVS_root_directory\fP +Use +.I CVS_root_directory +as the root directory pathname of the master +source repository. +Overrides the setting of the +.SM CVSROOT +environment variable. +This value should be specified as an absolute pathname. +.TP +\fB\-e\fP \fIeditor\fP +Use +.I editor +to enter revision log information. +Overrides the setting of the +.SM CVSEDITOR\c +, +.SM VISUAL\c +, and +.SM EDITOR +environment variables. +.TP +.B \-f +Do not read the +.B cvs +startup file (\fI~/.cvsrc\fP). +.TP +.B \-l +Do not log the +.I cvs_command +in the command history (but execute it anyway). See the description +of the +.B history +command for information on command history. +.TP +.B \-n +Do not change any files. Attempt to execute the +.IR cvs_command , +but only to issue reports; do not remove, update, or merge any +existing files, or create any new files. +.TP +.B \-t +Trace program execution; display messages showing the steps of +.B cvs +activity. Particularly useful with +.B \-n +to explore the potential impact of an unfamiliar command. +.TP +.B \-r +Makes new working files read-only. +Same effect as if the +.SM CVSREAD +environment variable is set. +.TP +.B \-v [ --version ] +Displays version and copyright information for +.BR cvs . +.TP +.B \-w +Makes new working files read-write (default). +Overrides the setting of the +.SM CVSREAD +environment variable. +.TP +.B \-x +Encrypt all communication between the client and the server. As of +this writing, this is only implemented when using a Kerberos +connection. +.TP +\fB\-z\fP \fIcompression\-level\fP +When transferring files across the network use +.B gzip +compression level \fIcompression\-level\fP to compress and +de-compress data as it is transferred. +.SH "USAGE" +Except when requesting general help with +.RB ` "\|cvs \-H\|" ', +you must specify a +.I cvs_command +to +.B cvs +to select a specific release control function to perform. +Each +.B cvs +command accepts its own collection of options and arguments. +However, many options are available across several commands. +You can display a usage summary for each command by specifying the +.B \-H +option with the command. +.SH "CVS STARTUP FILE" +Normally, when CVS starts up, it reads the +.I .cvsrc +file from the home directory of the user reading it. This startup +procedure can be turned off with the +.B \-f +flag. +.sp +The +.I .cvsrc +file lists CVS commands with a list of arguments, one command per +line. For example, the following line in \fI.cvsrc\fP: +.sp +diff \-c +.sp +will mean that the +.RB ` "\|cvs diff\|" ' +command will always be passed the \-c option in addition to any +other options that are specified in the command line (in this case +it will have the effect of producing context sensitive diffs for +all executions of +.RB ` "\|cvs diff\|" ' +). +.SH "CVS COMMAND SUMMARY" +Here are brief descriptions of all the +.B cvs +commands: +.TP +.B add +Add a new file or directory to the repository, pending a +.RB ` "\|cvs commit\|" ' +on the same file. +Can only be done from within sources created by a previous +.RB ` "\|cvs checkout\|" ' +invocation. +Use +.RB ` "\|cvs import\|" ' +to place whole new hierarchies of sources under +.B cvs +control. +(Does not directly affect repository; changes +working directory.) +.TP +.B admin +Execute +control functions on the source repository. (Changes +repository directly; uses working directory without changing it.) +.TP +.B checkout +Make a working directory of source files for editing. (Creates or changes +working directory.) +.TP +.B commit +Apply to the source repository changes, additions, and deletions from your +working directory. (Changes repository.) +.TP +.B diff +Show differences between files in working directory and source +repository, or between two revisions in source repository. +(Does not change either repository or working directory.) +.TP +.B export +Prepare copies of a set of source files for shipment off site. +Differs from +.RB ` "\|cvs checkout\|" ' +in that no +.B cvs +administrative directories are created (and therefore +.RB ` "\|cvs commit\|" ' +cannot be executed from a directory prepared with +.RB ` "\|cvs export\|" '), +and a symbolic tag must be specified. +(Does not change repository; creates directory similar to working +directories). +.TP +.B history +Show reports on +.B cvs +commands that you or others have executed on a particular file or +directory in the source repository. (Does not change repository or +working directory.) History logs are kept only if enabled by creation +of the +.RB ` "\|$CVSROOT/CVSROOT/history\|" ' +file; see +.BR cvs ( 5 ). +.TP +.B import +Incorporate a set of updates from off-site into the source repository, +as a ``vendor branch''. (Changes repository.) +.TP +.B init +Initialize a repository by adding the CVSROOT subdirectory and some default +control files. You must use this command or initialize the repository in +some other way before you can use it. +.TP +.B log +Display +log information. +(Does not change repository or working directory.) +.TP +.B rdiff +Prepare a collection of diffs as a patch file between two releases in +the repository. (Does not change repository or working directory.) +.TP +.B release +Cancel a +.RB ` "\|cvs checkout\|" ', +abandoning any changes. +(Can delete working directory; no effect on repository.) +.TP +.B remove +Remove files from the source repository, pending a +.RB ` "\|cvs commit\|" ' +on the same files. (Does not directly affect repository; +changes working directory.) +.TP +.B rtag +Explicitly specify a symbolic tag for particular revisions of files in the +source repository. See also +.RB ` "\|cvs tag\|" '. +(Changes repository directly; does not require or affect +working directory.) +.TP +.B status +Show current status of files: latest version, version in working +directory, whether working version has been edited and, optionally, +symbolic tags in the +.SM RCS +file. (Does not change +repository or working directory.) +.TP +.B tag +Specify a symbolic tag for files in the repository. By default, tags +the revisions +that were last synchronized with your working directory. (Changes +repository directly; uses working directory without changing it.) +.TP +.B update +Bring your working directory up to date with changes from the +repository. Merges are performed automatically when possible; a +warning is issued if manual resolution is required for conflicting +changes. (Changes working directory; does not change repository.) +.SH "COMMON COMMAND OPTIONS" +This section describes the +.I command_options +that are available across several +.B cvs +commands. Not all commands support all of these options; each option +is only supported for commands where it makes sense. However, when +a command has one of these options you can count on the same meaning +for the option as in other commands. (Other command +options, which are listed with the individual commands, may have +different meanings from one +.B cvs +command to another.) +.I "Warning:" +the +.B history +command is an exception; +it supports many options that conflict +even with these standard options. +.TP +\fB\-D\fP \fIdate_spec\fP +Use the most recent revision no later than \fIdate_spec\fP (a single +argument, date description specifying a date in the +past). A wide variety of date formats are supported, in particular +ISO ("1972-09-24 20:05") or Internet ("24 Sep 1972 20:05"). +The \fIdate_spec\fP is interpreted as being in the local timezone, unless a +specific timezone is specified. +The specification is ``sticky'' when you use it to make a +private copy of a source file; that is, when you get a working file +using \fB\-D\fP, \fBcvs\fP records the date you +specified, so that further updates in the same directory will use the +same date (unless you explicitly override it; see the description of +the \fBupdate\fP command). +.B \-D +is available with the +.BR checkout ", " diff ", " history ", " export ", " +.BR rdiff ", " rtag ", and " +.B update +commands. +Examples of valid date specifications include: +.in +1i +.ft B +.nf +1 month ago +2 hours ago +400000 seconds ago +last year +last Monday +yesterday +a fortnight ago +3/31/92 10:00:07 PST +January 23, 1987 10:05pm +22:00 GMT +.fi +.ft P +.in -1i +.TP +.B \-f +When you specify a particular date or tag to \fBcvs\fP commands, they +normally ignore files that do not contain the tag (or did not exist on +the date) that you specified. Use the \fB\-f\fP option if you want +files retrieved even when there is no match for the tag or date. (The +most recent version is used in this situation.) +.B \-f +is available with these commands: +.BR checkout ", " export ", " +.BR rdiff ", " rtag ", and " update . +.TP +\fB\-k\fP \fIkflag\fP +Alter the default +processing of keywords. +The \fB\-k\fP option is available with the +.BR add ", " checkout ", " diff ", " export ", " +.BR rdiff ", and " update +commands. Your \fIkflag\fP specification is ``sticky'' when you use +it to create a private copy of a source file; that is, when you use +this option with the \fBcheckout\fP or \fBupdate\fP commands, +\fBcvs\fP associates your selected \fIkflag\fP with the file, and +continues to use it with future \fBupdate\fP commands on the same file +until you specify otherwise. +.sp +Some of the more useful \fIkflag\fPs are \-ko and \-kb (for binary files), +and \-kv which is useful for an +.B export +where you wish to retain keyword information after an +.B import +at some other site. +.TP +.B \-l +Local; run only in current working directory, rather than recurring through +subdirectories. Available with the following commands: +.BR checkout ", " commit ", " diff ", " +.BR export ", " remove ", " rdiff ", " rtag ", " +.BR status ", " tag ", and " update . +.I Warning: +this is not the same +as the overall +.RB ` "\|cvs \-l\|" ' +option, which you can specify to the +.I left +of a +.B cvs +command! +.TP +.B \-n +Do +.I not +run any +.BR checkout / commit / tag / update +program. (A program can be specified to run on each of these +activities, in the modules database; this option bypasses it.) +Available with the +.BR checkout ", " commit ", " export ", and " +.B rtag +commands. +.I Warning: +this is not the same +as the overall +.RB ` "\|cvs \-n\|" ' +option, which you can specify to the +.I left +of a +.B cvs +command! +.TP +.B \-P +Prune (remove) directories that are empty after being updated, on +.BR checkout ", or " update . +Normally, an empty directory (one that is void of revision-controlled +files) is left alone. +Specifying +.B \-P +will cause these directories to be silently removed from your checked-out +sources. +This does not remove the directory from the repository, only from your +checked out copy. +Note that this option is implied by the +.B \-r +or +.B \-D +options of +.BR checkout " and " export . +.TP +.B \-p +Pipe the files retrieved from the repository to standard output, +rather than writing them in the current directory. Available with the +.BR checkout " and " update +commands. +.TP +\fB\-r\fP \fItag\fP +Use the revision specified by the +.I tag +argument instead of the default ``head'' revision. As well as +arbitrary tags defined with the \fBtag\fP or \fBrtag\fP command, two +special tags are always available: +.RB ` "\|HEAD\|" ' +refers to the most +recent version available in the repository, and +.RB ` "\|BASE\|" ' +refers to the revision you last checked out into the current working +directory. +.sp +The \fItag\fP specification is ``sticky'' when you use +this option with +.RB ` "\|cvs checkout\|" ' +or +.RB ` "\|cvs update\|" ' +to +make your own copy of a file: \fBcvs\fP remembers the \fItag\fP and +continues to use it on future \fBupdate\fP commands, until you specify +otherwise. +.I tag +can be either a symbolic or numeric tag. +Specifying the +.B \-q +global option along with the +.B \-r +command option is often useful, to suppress the warning messages when the +.SM RCS +file does not contain the specified tag. +.B \-r +is available with the +.BR checkout ", " commit ", " diff ", " +.BR history ", " export ", " +.BR rdiff ", " rtag ", and " update +commands. +.I Warning: +this is not the same +as the overall +.RB ` "\|cvs \-r\|" ' +option, which you can specify to the +.I left +of a +.B cvs +command! +.TP +\fB\-t\fP \fIid\fP +Expand the RCS identifier specified by the +.I id +argument in addition to the default ``Id'' identifier. +.B \-t +is available with the +.BR checkout ", " export ", and " update +commands. If the identifier name is specified as ``-'', no additional +identifiers will be expanded. +.SH "CVS COMMANDS" +Here (finally) are details on all the +.B cvs +commands and the options each accepts. The summary lines at the top +of each command's description highlight three kinds of things: +.TP 1i +\ \ \ \ Command Options and Arguments +Special options are described in detail below; common command options +may appear only in the summary line. +.TP 1i +\ \ \ \ Working Directory, or Repository? +Some \fBcvs\fP commands require a working directory to operate; some +require a repository. Also, some commands \fIchange\fP the +repository, some change the working directory, and some change +nothing. +.TP 1i +\ \ \ \ Synonyms +Many commands have synonyms, which you may find easier to +remember (or type) than the principal name. +.PP +.TP +\fBadd\fP [\fB\-k\fP \fIkflag\fP] [\fB\-m '\fP\fImessage\fP\fB'\fP] \fIfiles.\|.\|.\fP +.I Requires: +repository, working directory. +.br +.I Changes: +working directory. +.br +.I Synonym: +.B new +.br +Use the +.B add +command to create a new file or directory in the +source repository. +The files or directories specified with +.B add +must already exist in the current directory (which must have been created +with the +.B checkout +command). +To add a whole new directory hierarchy to the source repository +(for example, files received from a third-party vendor), use the +.RB ` "\|cvs import\|" ' +command instead. +.sp +If the argument to +.RB ` "\|cvs add\|" ' +refers to an immediate sub-directory, the directory is +created at the correct place in the +source repository, and the necessary +.B cvs +administration files are created in your working directory. +If the directory already exists in the source repository, +.RB ` "\|cvs add\|" ' +still creates the administration files in your version of the directory. +This allows you to use +.RB ` "\|cvs add\|" ' +to add a particular directory to your private sources even if +someone else created that directory after your +.B checkout +of the sources. You can do the following: +.sp +.in +1i +.ft B +.nf +example% mkdir new_directory +example% cvs add new_directory +example% cvs update new_directory +.fi +.ft P +.in -1i +.sp +An alternate approach using +.RB ` "\|cvs update\|" ' +might be: +.sp +.in +1i +.ft B +.nf +example% cvs update -d new_directory +.fi +.ft P +.in -1i +.sp +(To add \fIany available\fP new directories to your working directory, it's +probably simpler to use +.RB ` "\|cvs checkout\|" ' +or +.RB ` "\|cvs update -d\|" '.) +.sp +The added files are not placed in the +source repository until you use +.RB ` "\|cvs commit\|" ' +to make the change permanent. +Doing a +.RB ` "\|cvs add\|" ' +on a file that was removed with the +.RB ` "\|cvs remove\|" ' +command will resurrect the file, if no +.RB ` "\|cvs commit\|" ' +command intervened. +.sp +You will have the opportunity to specify a logging message, as usual, +when you use +.RB ` "\|cvs commit\|" ' +to make the new file permanent. If you'd like to have another +logging message associated with just +.I creation +of the file (for example, to describe the file's purpose), you can +specify it with the +.RB ` "\|\-m \fImessage\fP\|" ' +option to the +.B add +command. +.sp +The +.RB ` "\|-k kflag\|" ' +option specifies the default way that this +file will be checked out. +The +.RB ` "\|kflag\|" ' +argument is stored in the +.SM RCS +file and can be changed with +.RB ` "\|cvs admin\|" '. +Specifying +.RB ` "\|-ko\|" ' +is useful for checking in binaries that +shouldn't have +keywords expanded. +.TP +\fBadmin\fP [\fIrcs-options\fP] \fIfiles.\|.\|.\fP +.I Requires: +repository, working directory. +.br +.I Changes: +repository. +.br +.I Synonym: +.B rcs +.br +This is the +.B cvs +interface to assorted administrative +facilities, similar to +.BR rcs ( 1 ). +This command works recursively, so extreme care should be +used. +.TP +\fBcheckout\fP [\fBoptions\fP] \fImodules\fP.\|.\|. +.I Requires: +repository. +.br +.I Changes: +working directory. +.br +.I Synonyms: +.BR co ", " get +.br +Make a working directory containing copies of the source files specified by +.IR modules . +You must execute +.RB ` "\|cvs checkout\|" ' +before using most of the other +.B cvs +commands, since most of them operate on your working directory. +.sp +\fImodules\fP are either symbolic names (themselves defined as the +module +.RB ` "\|modules\|" ' +in the source repository; see +.BR cvs ( 5 )) +for some collection of source directories and files, or paths to +directories or files in the repository. +.sp +Depending on the +.I modules +you specify, +.B checkout +may recursively create directories and populate them with the appropriate +source files. +You can then edit these source files at any time (regardless of whether +other software developers are editing their own copies of the sources); +update them to include new changes applied by others to the source +repository; or commit your work as a permanent change to the +repository. +.sp +Note that +.B checkout +is used to create directories. +The top-level directory created is always added to the directory +where +.B checkout +is invoked, and usually has the same name as the specified +.IR module . +In the case of a +.I module +alias, the created sub-directory may have a different name, but you can be +sure that it will be a sub-directory, and that +.B checkout +will show the relative path leading to each file as it is extracted into +your private work area (unless you specify the +.B \-Q +global option). +.sp +Running +.RB ` "\|cvs checkout\|" ' +on a directory that was already built by a prior +.B checkout +is also permitted, and +has the same effect as specifying the +.B \-d +option to the +.B update +command described below. +.sp +The +.I options +permitted with +.RB ` "\|cvs checkout\|" ' +include the standard command options +.BR \-P ", " \-f ", " +.BI \-k " kflag" +\&, +.BR \-l ", " \-n ", " \-p ", " +.BR \-r +.IR tag ", and" +.BI \-D " date"\c +\&. +.sp +In addition to those, you can use these special command options +with +.BR checkout : +.sp +Use the +.B \-A +option to reset any sticky tags, dates, or +.B \-k +options. (If you get a working file using one of the +\fB\-r\fP, \fB\-D\fP, or \fB\-k\fP options, \fBcvs\fP remembers the +corresponding tag, date, or \fIkflag\fP and continues using it on +future updates; use the \fB\-A\fP option to make \fBcvs\fP forget these +specifications, and retrieve the ``head'' version of the file). +.sp +The +.BI \-j " branch" +option merges the changes made between the +resulting revision and the revision that it is based on (e.g., if +the tag refers to a branch, +.B cvs +will merge all changes made in that branch into your working file). +.sp +With two \fB-j\fP options, +.B cvs +will merge in the changes between the two respective revisions. +This can be used to ``remove'' a certain delta from your working file. +.sp +In addition, each \fB-j\fP option can contain on optional date +specification which, when used with branches, can limit the chosen +revision to one within a specific date. +An optional date is specified by adding a colon (:) to the tag. +An example might be what +.RB ` "\|cvs import\|" ' +tells you to do when you have +just imported sources that have conflicts with local changes: +.sp +.in +1i +.ft B +.nf +example% cvs checkout -jTAG:yesterday -jTAG module +.fi +.ft P +.in -1i +.sp +Use the +.B \-N +option with +.RB ` "\|\-d \fIdir\fP\|" ' +to avoid shortening module paths in your working directory. (Normally, \fBcvs\fP shortens paths as much as possible when you specify an explicit target directory.) +.sp +Use the +.B \-c +option to copy the module file, sorted, to the standard output, +instead of creating or modifying any files or directories in your +working directory. +.sp +Use the +.BI \-d " dir" +option to create a directory called +.I dir +for the working files, instead of using the module name. Unless you +also use \fB\-N\fP, the paths created under \fIdir\fP will be as short +as possible. +.sp +Use the +.B \-s +option to display per-module status information stored with +the +.B \-s +option within the modules file. +.TP +\fBcommit\fP [\fB\-flnR\fP] [\fB\-m\fP '\fIlog_message\fP' | \fB\-F\fP \fIfile\fP] [\fB\-r\fP \fIrevision\fP] [\fIfiles.\|.\|.\fP] +.I Requires: +working directory, repository. +.br +.I Changes: +repository. +.br +.I Synonym: +.B ci +.br +Use +.RB ` "\|cvs commit\|" ' +when you want to incorporate changes from your working source +files into the general source repository. +.sp +If you don't specify particular \fIfiles\fP to commit, all +of the files in your working current directory are examined. +.B commit +is careful to change in the repository only those files that you have +really changed. By default (or if you explicitly specify the +.B \-R +option), files +in subdirectories are also examined and committed if they have +changed; you can use the +.B \-l +option to limit +.B commit +to the current directory only. +Sometimes you may want to force a file to be committed even though it +is unchanged; this is achieved with the +.B \-f +flag, which also has the effect of disabling recursion (you can turn +it back on with +.B \-R +of course). +.sp +.B commit +verifies that the selected files are up to date with the current revisions +in the source repository; it will notify you, and exit without +committing, if any of the specified files must be made current first +with +.RB ` "\|cvs update\|" '. +.B commit +does not call the +.B update +command for you, but rather leaves that for you to do when +the time is right. +.sp +When all is well, an editor is invoked to allow you to enter a log +message that will be written to one or more logging programs and placed in the +source repository file. +You can instead specify the log message on the command line with the +.B \-m +option, thus suppressing the editor invocation, or use the +.B \-F +option to specify that the argument \fIfile\fP contains the log message. +.sp +At +.B commit +a unique commitid is placed in the +.SM rcs +file inside the repository. +All files committed at once get the same commitid. +The commitid can be retrieved with the +.B log +and +.B status +commands. +.sp +The +.B \-r +option can be used to commit to a particular symbolic or numeric revision. +For example, to bring all your files up to the +revision ``3.0'' (including those that haven't changed), you might do: +.sp +.in +1i +.ft B +.nf +example% cvs commit -r3.0 +.fi +.ft P +.in -1i +.sp +.B cvs +will only allow you to commit to a revision that is on the main trunk (a +revision with a single dot). +However, you can also commit to a branch revision (one that has an even +number of dots) with the +.B \-r +option. +To create a branch revision, one typically use the +.B \-b +option of the +.BR rtag " or " tag +commands. +Then, either +.BR checkout " or " update +can be used to base your sources on the newly created branch. +From that point on, all +.B commit +changes made within these working sources will be automatically added +to a branch revision, thereby not perturbing main-line development in any +way. +For example, if you had to create a patch to the 1.2 version of the +product, even though the 2.0 version is already under development, you +might do: +.sp +.in +1i +.ft B +.nf +example% cvs rtag -b -rFCS1_2 FCS1_2_Patch product_module +example% cvs checkout -rFCS1_2_Patch product_module +example% cd product_module +[[ hack away ]] +example% cvs commit +.fi +.ft P +.in -1i +.sp +Say you have been working on some extremely experimental software, based on +whatever revision you happened to checkout last week. +If others in your group would like to work on this software with you, but +without disturbing main-line development, you could commit your change to a +new branch. +Others can then checkout your experimental stuff and utilize the full +benefit of +.B cvs +conflict resolution. +The scenario might look like: +.sp +.in +1i +.ft B +.nf +example% cvs tag -b EXPR1 +example% cvs update -rEXPR1 +[[ hack away ]] +example% cvs commit +.fi +.ft P +.in -1i +.sp +Others would simply do +.RB ` "\|cvs checkout -rEXPR1 whatever_module\|" ' +to work with you on the experimental change. +.TP +\fBdiff\fP [\fB\-kl\fP] [\fIrcsdiff_options\fP] [[\fB\-r\fP \fIrev1\fP | \fB\-D\fP \fIdate1\fP] [\fB\-r\fP \fIrev2\fP | \fB\-D\fP \fIdate2\fP]] [\fIfiles.\|.\|.\fP] +.I Requires: +working directory, repository. +.br +.I Changes: +nothing. +.br +You can compare your working files with revisions in the source +repository, with the +.RB ` "\|cvs diff\|" ' +command. If you don't specify a particular revision, your files +are compared with the revisions they were based on. You can also use +the standard +.B cvs +command option +.B \-r +to specify a particular revision to compare your files with. Finally, +if you use +.B \-r +twice, you can see differences between two revisions in the +repository. +You can also specify +.B \-D +options to diff against a revision in the past. +The +.B \-r +and +.B \-D +options can be mixed together with at most two options ever specified. +.sp +See +.BR rcsdiff ( 1 ) +for a list of other accepted options. +.sp +If you don't specify any files, +.B diff +will display differences for all those files in the current directory +(and its subdirectories, unless you use the standard option +.BR \-l ) +that +differ from the corresponding revision in the source repository +(i.e. files that +.I you +have changed), or that differ from the revision specified. +.TP +\fBexport\fP [\-\fBf\|lNnQq\fP] \fB\-r\fP \fIrev\fP\||\|\fB\-D\fP \fIdate\fP [\fB\-d\fP \fIdir\fP] [\fB\-k\fP \fIkflag\fP] \fImodule\fP.\|.\|. +.I Requires: +repository. +.br +.I Changes: +current directory. +.br +This command is a variant of +.RB ` "\|cvs checkout\|" '; +use it when you want a copy of the source for \fImodule\fP +without the \fBcvs\fP administrative directories. For example, you +might use +.RB ` "\|cvs export\|" ' +to prepare source for shipment +off-site. This command \fIrequires\fP that you specify a date or tag +(with \fB\-D\fP or \fB\-r\fP), so that you can count on reproducing +the source you ship to others. +.sp +The only non-standard options are +.RB ` "\|\-d \fIdir\fP\|" ' +(write the +source into directory \fIdir\fP) and +.RB ` "\|\-N\|" ' +(don't shorten +module paths). +These have the same meanings as the same options in +.RB ` "\|cvs checkout\|" '. +.sp +The +.B \-kv +option is useful when +.B export +is used. +This causes any +keywords to be expanded such that an +.B import +done at some other site will not lose the keyword revision information. +Other \fIkflag\fPs may be used with +.RB ` "\|cvs export\|" ' +and are described in +.BR co ( 1 ). +.TP +\fBhistory\fP [\fB\-\fP\fIreport\fP] [\fB\-\fP\fIflags\fP] [\fB\-\fP\fIoptions args\fP] [\fIfiles\fP.\|.\|.] +.I Requires: +the file +.RB ` "\|$CVSROOT/CVSROOT/history\|" ' +.br +.I Changes: +nothing. +.br +\fBcvs\fP keeps a history file that tracks each use of the +\fBcheckout\fP, \fBcommit\fP, \fBrtag\fP, \fBupdate\fP, and \fBrelease\fP +commands. You can use +.RB ` "\|cvs history\|" ' +to display this +information in various formats. +.sp +.I Warning: +.RB ` "\|cvs history\|" ' +uses +.RB ` "\|\-f\|" ', +.RB ` "\|\-l\|" ', +.RB ` "\|\-n\|" ', +and +.RB ` "\|\-p\|" ' +in ways that conflict with the +descriptions in +.SM +COMMON COMMAND OPTIONS\c +\&. +.sp +Several options (shown above as \fB\-\fP\fIreport\fP) control what +kind of report is generated: +.TP 1i +.B \ \ \ \ \ \ \-c +Report on each time \fBcommit\fP was used (i.e., each time the +repository was modified). +.TP 1i +\fB\ \ \ \ \ \ \-m\fP \fImodule\fP +Report on a particular \fImodule\fP. (You can meaningfully use +\fB\-m\fP more than once on the command line.) +.TP 1i +.B \ \ \ \ \ \ \-o +Report on checked-out modules. +.TP 1i +.B \ \ \ \ \ \ \-T +Report on all tags. +.TP 1i +\fB\ \ \ \ \ \ \-x\fP \fItype\fP +Extract a particular set of record types \fIX\fP from the \fBcvs\fP +history. The types are indicated by single letters, which you may +specify in combination. +Certain commands have a single record type: \fBcheckout\fP (type `O'), +\fBrelease\fP (type `F'), and \fBrtag\fP (type `T'). One of four +record types may result from an \fBupdate\fP: `W', when the working copy +of a file is deleted during update (because it was gone from the +repository); `U', when a working file was copied from the +repository; `G', when a merge was necessary and it succeeded; and 'C', +when a merge was necessary but collisions were detected (requiring +manual merging). Finally, one of three record types results from +\fBcommit\fP: `M', when a file was modified; `A', when a file is first +added; and `R', when a file is removed. +.TP 1i +.B \ \ \ \ \ \ \-e +Everything (all record types); equivalent to specifying +.RB ` "\|\-xMACFROGWUT\|" '. +.TP 1i +\fB\ \ \ \ \ \ \-z\fP \fIzone\fP +Use time zone +.I zone +when outputting history records. +The zone name +.B LT +stands for local time; +numeric offsets stand for hours and minutes ahead of UTC. +For example, +.B +0530 +stands for 5 hours and 30 minutes ahead of (i.e. east of) UTC. +.PP +.RS .5i +The options shown as \fB\-\fP\fIflags\fP constrain the report without +requiring option arguments: +.RE +.TP 1i +.B \ \ \ \ \ \ \-a +Show data for all users (the default is to show data only for the user +executing +.RB ` "\|cvs history\|" '). +.TP 1i +.B \ \ \ \ \ \ \-l +Show last modification only. +.TP 1i +.B \ \ \ \ \ \ \-w +Show only the records for modifications done from the same working +directory where +.RB ` "\|cvs history\|" ' +is executing. +.PP +.RS .5i +The options shown as \fB\-\fP\fIoptions args\fP constrain the report +based on an argument: +.RE +.TP 1i +\fB\ \ \ \ \ \ \-b\fP \fIstr\fP +Show data back to a record containing the string \fIstr\fP in either +the module name, the file name, or the repository path. +.TP 1i +\fB\ \ \ \ \ \ \-D\fP \fIdate\fP +Show data since \fIdate\fP. +.TP 1i +\fB\ \ \ \ \ \ \-p\fP \fIrepository\fP +Show data for a particular source repository (you can specify several +\fB\-p\fP options on the same command line). +.TP 1i +\fB\ \ \ \ \ \ \-r\fP \fIrev\fP +Show records referring to revisions since the revision or tag +named \fIrev\fP appears in individual RCS files. +Each +.SM RCS +file is searched for the revision or tag. +.TP 1i +\fB\ \ \ \ \ \ \-t\fP \fItag\fP +Show records since tag \fItag\fP was last added to the history file. +This differs from the \fB-r\fP flag above in that it reads +only the history file, not the +.SM RCS +files, and is much faster. +.TP 1i +\fB\ \ \ \ \ \ \-u\fP \fIname\fP +Show records for user \fIname\fP. +.PP +.TP +\fBimport\fP [\fB\-\fP\fIoptions\fP] \fIrepository vendortag releasetag\fP.\|.\|. +.I Requires: +Repository, source distribution directory. +.br +.I Changes: +repository. +.br +Use +.RB ` "\|cvs import\|" ' +to incorporate an entire source +distribution from an outside source (e.g., a source vendor) into your +source repository directory. You can use this command both for +initial creation of a repository, and for wholesale updates to the +module form the outside source. +.sp +The \fIrepository\fP argument gives a directory name (or a path to a +directory) under the CVS root directory for repositories; if the +directory did not exist, \fBimport\fP creates it. +.sp +When you use \fBimport\fP for updates to source that has been modified in your +source repository (since a prior \fBimport\fP), it +will notify you of any files that conflict in the two branches of +development; use +.RB ` "\|cvs checkout -j\|" ' +to reconcile the differences, as \fBimport\fP instructs you to do. +.sp +By default, certain file names are ignored during +.RB ` "\|cvs import\|" ': +names associated with +.SM CVS +administration, or with other common source control systems; common +names for patch files, object files, archive files, and editor backup +files; and other names that are usually artifacts of assorted utilities. +For an up to date list of ignored file names, see the Cederqvist manual (as +described in the SEE ALSO section of this manpage). +.sp +The outside source is saved in a first-level +branch, by default +.RB ` "\|1.1.1\|" '. +Updates are leaves of this +branch; for example, files from the first imported collection of +source will be revision +.RB ` "\|1.1.1.1\|" ', +then files from the first +imported update will be revision +.RB ` "\|1.1.1.2\|" ', +and so on. +.sp +At least three arguments are required. \fIrepository\fP is needed to +identify the collection of source. \fIvendortag\fP is a tag for the +entire branch (e.g., for +.RB ` "\|1.1.1\|" '). +You must also specify at +least one \fIreleasetag\fP to identify the files at the leaves created +each time you execute +.RB ` "\|cvs import\|" '. +.sp +One of the standard +.B cvs +command options is available: \fB\-m\fP +\fImessage\fP. If you do not specify a logging message with +\fB\-m\fP, your editor is invoked (as with \fBcommit\fP) to allow you +to enter one. +.sp +There are three additional special options. +.sp +Use +.RB ` "\|\-d\|" ' +to specify that each file's time of last modification should be used +for the checkin date and time. +.sp +Use +.RB ` "\|\-b \fIbranch\fP\|" ' +to specify a first-level branch other +than +.RB ` "\|1.1.1\|" '. +.sp +Use +.RB ` "\|\-I \fIname\fP\|" ' +to specify file names that should be +ignored during \fBimport\fP. You can use this option repeatedly. +To avoid ignoring any files at all (even those ignored by default), +specify +.RB ` "\|\-I !\|" '. +.TP +\fBlog\fP [\fB\-l\fP] \fIrlog-options [files\fP\|.\|.\|.] +.I Requires: +repository, working directory. +.br +.I Changes: +nothing. +.br +.I Synonym: +.B rlog +.br +Display log information for \fIfiles\fP. +Among the more useful options are \fB\-h\fP +to display only the header (including tag definitions, but omitting +most of the full log); \fB\-r\fP to select logs on particular +revisions or ranges of revisions; and \fB\-d\fP to select particular +dates or date ranges. See +.BR rlog ( 1 ) +for full explanations. +This command is recursive by default, unless the +.B \-l +option is specified. +.TP +\fBrdiff\fP [\fB\-\fP\fIflags\fP] [\fB\-V\fP \fIvn\fP] [\fB\-r\fP \fIt\fP|\fB\-D\fP \fId\fP [\fB\-r\fP \fIt2\fP|\fB\-D\fP \fId2\fP]] \fImodules\|.\|.\|.\fP +.I Requires: +repository. +.br +.I Changes: +nothing. +.br +.I Synonym: +.B patch +.br +Builds a Larry Wall format +.BR patch ( 1 ) +file between two releases, that can be fed directly into the +.B patch +program to bring an old release up-to-date with the new release. +(This is one of the few \fBcvs\fP commands that operates directly from +the repository, and doesn't require a prior +.BR checkout .) +The diff output is sent to the standard output device. +You can specify (using the standard \fB\-r\fP and \fB\-D\fP options) +any combination of one or two revisions or dates. +If only one revision or date is specified, the +patch file reflects differences between that revision or date and the +current ``head'' revisions in the +.SM RCS +file. +.sp +Note that if the software release affected +is contained in more than one directory, then it may be necessary to +specify the +.B \-p +option to the +.B patch +command when patching the old sources, so that +.B patch +is able to find the files that are located in other directories. +.sp +The standard option \fIflags\fP \fB\-f\fP, and \fB\-l\fP +are available with this command. There are also several +special options flags: +.sp +If you use the +.B \-s +option, no patch output is produced. +Instead, a summary of the changed or added files between the two +releases is sent to the standard output device. +This is useful for finding out, for example, which files have changed +between two dates or revisions. +.sp +If you use the +.B \-t +option, a diff of the top two revisions is sent to the standard output device. +This is most useful for seeing what the last change to a file was. +.sp +If you use the +.B \-u +option, the patch output uses the newer ``unidiff'' format for context +diffs. +.sp +You can use +.B \-c +to explicitly specify the +.RB ` "\|diff \-c\|" ' +form of context diffs +(which is the default), if you like. +.TP +\fBrelease\fP [\fB\-dQq\fP] \fImodules\fP\|.\|.\|. +.I Requires: +Working directory. +.br +.I Changes: +Working directory, history log. +.br +This command is meant to safely cancel the effect of +.RB ` "\|cvs checkout\|" '. +Since +.B cvs +doesn't lock files, it isn't strictly necessary to use this command. +You can always simply delete your working directory, if you +like; but you risk losing changes you may have forgotten, and you +leave no trace in the +.B cvs +history file that you've abandoned your checkout. +.sp +Use +.RB ` "\|cvs release\|" ' +to avoid these problems. This command +checks that no un-committed changes are present; that you are +executing it from immediately above, or inside, a \fBcvs\fP working +directory; and that the repository recorded for your files is the same +as the repository defined in the module database. +.sp +If all these conditions are true, +.RB ` "\|cvs release\|" ' +leaves a +record of its execution (attesting to your intentionally abandoning +your checkout) in the +.B cvs +history log. +.sp +You can use the \fB\-d\fP flag to request that your working copies of +the source files be deleted if the \fBrelease\fP succeeds. +.TP +\fBremove\fP [\fB\-lR\fP] [\fIfiles\|.\|.\|.\fP] +.I Requires: +Working directory. +.br +.I Changes: +Working directory. +.br +.I Synonyms: +.BR rm ", " delete +.br +Use this command to declare that you wish to remove \fIfiles\fP from +the source repository. Like most +.B cvs +commands, +.RB ` "\|cvs remove\|" ' +works on files in your working +directory, not directly on the repository. As a safeguard, it also +requires that you first erase the specified files from your working +directory. +.sp +The files are not actually removed until you apply your changes to the +repository with +.BR commit ; +at that point, the corresponding +.SM RCS +files in the source repository are +.I moved +into the +.RB ` "\|Attic\|" ' +directory (also within the source repository). +.sp +This command is recursive by default, scheduling all physically removed +files that it finds for removal by the next +.BR commit . +Use the +.B \-l +option to avoid this recursion, or just specify that actual files that you +wish remove to consider. +.TP +\fBrtag\fP [\fB\-f\|alnRQq\fP] [\fB\-b\fP] [\fB\-d\fP] [\fB\-r\fP \fItag\fP | \fB\-D\fP \fIdate\fP] \fIsymbolic_tag\fP \fImodules\|.\|.\|.\fP +.I Requires: +repository. +.br +.I Changes: +repository. +.br +.I Synonym: +.B rfreeze +.br +You can use this command to assign symbolic tags to particular, +explicitly specified source versions in the repository. +.RB ` "\|cvs rtag\|" ' +works directly on the repository contents (and requires no +prior +.BR checkout ). +Use +.RB ` "\|cvs tag\|" ' +instead, to base the selection of +versions to tag on the contents of your working directory. +.sp +In general, tags (often the symbolic names of software distributions) +should not be removed, but the +.B \-d +option is available as a means to remove completely obsolete symbolic names +if necessary (as might be the case for an Alpha release, say). +.sp +.RB ` "\|cvs rtag\|" ' +will not move a tag that already exists. With the \fB\-F\fP option, +however, +.RB ` "\|cvs rtag\|" ' +will re-locate any instance of \fIsymbolic_tag\fP that already exists +on that file to the new repository versions. Without the \fB\-F\fP +option, attempting to use +.RB ` "\|cvs rtag\|" ' +to apply a tag that already exists on that file will produce an error +message. +.sp +The \fB-b\fP option makes the tag a ``branch'' tag, allowing +concurrent, isolated development. +This is most useful for creating a patch to a previously released software +distribution. +.sp +You can use the standard \fB\-r\fP and \fB\-D\fP options to tag only those +files that already contain a certain tag. This method would be used +to rename a tag: tag only the files identified by the old tag, then delete the +old tag, leaving the new tag on exactly the same files as the old tag. +.sp +.B rtag +executes recursively by default, tagging all subdirectories of +\fImodules\fP you specify in the argument. You can restrict its +operation to top-level directories with the standard \fB\-l\fP option; +or you can explicitly request recursion with \fB\-R\fP. +.sp +The modules database can specify a program to execute whenever a tag +is specified; a typical use is to send electronic mail to a group of +interested parties. If you want to bypass that program, use the +standard \fB\-n\fP option. +.sp +Use the +.B \-a +option to have +.B rtag +look in the +.RB ` "\|Attic\|" ' +for removed files that contain the specified tag. +The tag is removed from these files, which makes it convenient to re-use a +symbolic tag as development continues (and files get removed from the +up-coming distribution). +.TP +\fBstatus\fP [\fB\-lRqQ\fP] [\fB\-v\fP] [\fIfiles\fP\|.\|.\|.] +.I Requires: +working directory, repository. +.br +.I Changes: +nothing. +.br +Display a brief report on the current status of \fIfiles\fP with +respect to the source repository, including any ``sticky'' tags, +dates, or \fB\-k\fP options. (``Sticky'' options will restrict how +.RB ` "\|cvs update\|" ' +operates until you reset them; see the +description of +.RB ` "\|cvs update \-A\|.\|.\|.\|" '.) +.sp +You can also use this command to anticipate the potential impact of a +.RB ` "\|cvs update\|" ' +on your working source directory. If you do +not specify any \fIfiles\fP explicitly, reports are shown for all +files that \fBcvs\fP has placed in your working directory. You can +limit the scope of this search to the current directory itself (not +its subdirectories) with the standard \fB\-l\fP option flag; or you +can explicitly request recursive status reports with the \fB\-R\fP +option. +.sp +The +.B \-v +option causes the symbolic tags for the +.SM RCS +file to be displayed as well. +.TP +\fBtag\fP [\fB\-lQqR\fP] [\fB\-F\fP] [\fB\-b\fP] [\fB\-d\fP] [\fB\-r\fP \fItag\fP | \fB\-D\fP \fIdate\fP] [\fB\-f\fP] \fIsymbolic_tag\fP [\fIfiles\fP\|.\|.\|.\|] +.I Requires: +working directory, repository. +.br +.I Changes: +repository. +.br +.I Synonym: +.B freeze +.br +Use this command to assign symbolic tags to the nearest repository +versions to your working sources. The tags are applied immediately to +the repository, as with \fBrtag\fP. +.sp +One use for tags is to record a ``snapshot'' of the current sources +when the software freeze date of a project arrives. As bugs are fixed +after the freeze date, only those changed sources that are to be part +of the release need be re-tagged. +.sp +The symbolic tags are meant to permanently record which revisions of which +files were used in creating a software distribution. +The +.BR checkout , +.B export +and +.B update +commands allow you to extract an exact copy of a tagged release at any time in +the future, regardless of whether files have been changed, added, or removed +since the release was tagged. +.sp +You can use the standard \fB\-r\fP and \fB\-D\fP options to tag only those +files that already contain a certain tag. This method would be used +to rename a tag: tag only the files identified by the old tag, then delete the +old tag, leaving the new tag on exactly the same files as the old tag. +.sp +Specifying the \fB\-f\fP flag in addition to the \fB\-r\fP or \fB\-D\fP +flags will tag those files named on the command line even if they do not +contain the old tag or did not exist on the specified date. +.sp +By default (without a \fB\-r\fP or \fB\-D\fP flag) +the versions to be tagged are supplied +implicitly by the \fBcvs\fP records of your working files' history +rather than applied explicitly. +.sp +If you use +.RB ` "\|cvs tag \-d \fIsymbolic_tag\fP\|.\|.\|.\|" ', +the +symbolic tag you specify is +.I deleted +instead of being added. \fIWarning\fP: Be very certain of your ground +before you delete a tag; doing this effectively discards some +historical information, which may later turn out to have been valuable. +.sp +.RB ` "\|cvs tag\|" ' +will not move a tag that already exists. With the \fB\-F\fP option, +however, +.RB ` "\|cvs tag\|" ' +will re-locate any instance of \fIsymbolic_tag\fP that already exists +on that file to the new repository versions. Without the \fB\-F\fP +option, attempting to use +.RB ` "\|cvs tag\|" ' +to apply a tag that already exists on that file will produce an error +message. +.sp +The \fB-b\fP option makes the tag a ``branch'' tag, allowing +concurrent, isolated development. +This is most useful for creating a patch to a previously released software +distribution. +.sp +Normally, +.B tag +executes recursively through subdirectories; you can prevent this by +using the standard \fB\-l\fP option, or specify the recursion +explicitly by using \fB\-R\fP. +.TP +\fBupdate\fP [\fB\-ACdf\|lPpQqR\fP] [\fB\-d\fP] [\fB\-r\fP \fItag\fP|\fB\-D\fP \fIdate\fP] \fIfiles\|.\|.\|.\fP +.I Requires: +repository, working directory. +.br +.I Changes: +working directory. +.br +After you've run +.B checkout +to create your private copy of source from the common repository, +other developers will continue changing the central source. From time +to time, when it is convenient in your development process, you can +use the +.B update +command +from within your working directory to reconcile your work with any +revisions applied to the source repository since your last +.B checkout +or +.BR update . +.sp +.B update +keeps you informed of its progress by printing a line for each file, +prefaced with one of the characters +.RB ` "\|U P A R M C ?\|" ' +to indicate the status of the file: +.TP 1i +\fBU\fP \fIfile\fP +The file has been brought \fIup to date\fP with respect to the repository. +This is done for any file that exists in the repository but not in +your source, and for files that you haven't changed but are not the most +recent versions available in the repository. +.TP 1i +\fBP\fP \fIfile\fP +As +.RB ` "\|U\|" ', +but instead of transferring the entire file a patch containing the required +changes were sent. +.TP 1i +\fBA\fP \fIfile\fP +The file has been \fIadded\fP to your private copy of the sources, and +will be added to the +source repository when you run +.RB ` "\|cvs commit\|" ' +on the file. +This is a reminder to you that the file needs to be committed. +.TP 1i +\fBR\fP \fIfile\fP +The file has been \fIremoved\fP from your private copy of the sources, and +will be removed from the +source repository when you run +.RB ` "\|cvs commit\|" ' +on the file. +This is a reminder to you that the file needs to be committed. +.TP 1i +\fBM\fP \fIfile\fP +The file has been \fImodified\fP in your working directory. +.RB ` "\|M\|" ' +can indicate one of two states for a file you're working on: either +there were no modifications to the same file in the repository, so +that your file remains as you last saw it; or there were modifications +in the repository as well as in your copy, but they were +\fImerged\fP successfully, without conflict, in your working +directory. +.TP 1i +\fBC\fP \fIfile\fP +A \fIconflict\fP has been detected while trying to merge your changes to +\fIfile\fP with changes from the source repository. \fIfile\fP (the +copy in your working directory) is now the result of merging +the two versions; an unmodified copy of your file is also +in your working directory, with the name `\fB.#\fP\fIfile\fP\fB.\fP\fIversion\fP', +where +.I version +is the +revision that your modified file started from. +(Note that some systems automatically purge files that begin with +\& +.RB ` "\|.#\|" ' +if they have not been accessed for a few days. +If you intend to keep a copy of your original file, it is a very good +idea to rename it.) +.TP 1i +\fB?\fP \fIfile\fP +\fIfile\fP is in your working directory, but does not correspond to +anything in the source repository, and is not in the list of files +for \fBcvs\fP to ignore (see the description of the \fB\-I\fP option). +.PP +.RS .5i +.sp +Use the +.B \-A +option to reset any sticky tags, dates, or +.B \-k +options. (If you get a working copy of a file by using one of the +\fB\-r\fP, \fB\-D\fP, or \fB\-k\fP options, \fBcvs\fP remembers the +corresponding tag, date, or \fIkflag\fP and continues using it on +future updates; use the \fB\-A\fP option to make \fBcvs\fP forget these +specifications, and retrieve the ``head'' version of the file). +.sp +The \fB\-j\fP\fIbranch\fP option +merges the changes made between the +resulting revision and the revision that it is based on (e.g., if +the tag refers to a branch, +.B cvs +will merge all changes made in +that branch into your working file). +.sp +With two \fB-j\fP options, +.B cvs +will merge in the changes between the two respective revisions. +This can be used to ``remove'' a certain delta from your working file. +E.g., If the file foo.c is based on +revision 1.6 and I want to remove the changes made between 1.3 and +1.5, I might do: +.sp +.in +1i +.ft B +.nf +example% cvs update -j1.5 -j1.3 foo.c # note the order... +.fi +.ft P +.in -1i +.sp +In addition, each \fB-j\fP option can contain on optional date +specification which, when used with branches, can limit the chosen +revision to one within a specific date. +An optional date is specified by adding a colon (:) to the tag. +.sp +.in +1i +.ft B +.nf +-jSymbolic_Tag:Date_Specifier +.fi +.ft P +.in -1i +.sp +Use the +.B \-d +option to create any directories that exist in the repository if they're +missing from the working directory. (Normally, update acts only on +directories and files that were already enrolled in your +working directory.) This is useful for updating directories +that were created in the repository since the initial +\fBcheckout\fP; but it has an unfortunate side effect. If you +deliberately avoided certain directories in the repository when you +created your working directory (either through use of a module name or by +listing explicitly the files and directories you wanted on the +command line), then updating with +.B \-d +will create those directories, which may not be what you want. +.sp +Use \fB\-I\fP \fIname\fP to ignore files whose names match \fIname\fP +(in your working directory) during the update. You can specify +\fB\-I\fP more than once on the command line to specify several files +to ignore. By default, +\fBupdate\fP ignores files whose names match certain patterns; for +an up to date list of ignored file names, see the Cederqvist manual (as +described in the SEE ALSO section of this manpage). +.sp +Use +.RB ` "\|\-I !\|" ' +to avoid ignoring any files at all. +.sp +Use the +.RB ` "\|\-C\|" ' +option to overwrite locally modified files with clean copies from +the repository (the modified file is saved in +`\fB.#\fP\fIfile\fP\fB.\fP\fIrevision\fP', however). +.sp +The standard \fBcvs\fP command options \fB\-f\fP, \fB\-k\fP, +\fB\-l\fP, \fB\-P\fP, \fB\-p\fP, and \fB\-r\fP +are also available with \fBupdate\fP. +.RE +.SH "FILES" +For more detailed information on +.B cvs +supporting files, see +.BR cvs ( 5 ). +.LP +.I +Files in home directories: +.TP +\&.cvsrc +The +.B cvs +initialisation file. Lines in this file can be used to specify default +options for each +.B cvs +command. For example the line +.RB ` "\|diff \-c\|" ' +will ensure that +.RB ` "\|cvs diff\|" ' +is always passed the +.B \-c +option in addition to any other options passed on the command line. +.TP +\&.cvswrappers +Specifies wrappers to be used in addition to those specified in the +CVSROOT/cvswrappers file in the repository. +.LP +.I +Files in working directories: +.TP +CVS +A directory of \fBcvs\fP administrative files. +.I +Do not delete. +.TP +CVS/Entries +List and status of files in your working directory. +.TP +CVS/Entries.Backup +A backup of +.RB ` "\|CVS/Entries\|" '. +.TP +CVS/Entries.Static +Flag: do not add more entries on +.RB ` "\|cvs update\|" '. +.TP +CVS/Root +Pathname to the repository ( +.SM CVSROOT +) location at the time of checkout. This file is used instead +of the +.SM CVSROOT +environment variable if the environment variable is not +set. A warning message will be issued when the contents of this +file and the +.SM CVSROOT +environment variable differ. The file may be over-ridden by the +presence of the +.SM CVS_IGNORE_REMOTE_ROOT +environment variable. +.TP +CVS/Repository +Pathname to the corresponding directory in the source repository. +.TP +CVS/Tag +Contains the per-directory ``sticky'' tag or date information. +This file is created/updated when you specify +.B \-r +or +.B \-D +to the +.B checkout +or +.B update +commands, and no files are specified. +.TP +CVS/Checkin.prog +Name of program to run on +.RB ` "\|cvs commit\|" '. +.TP +CVS/Update.prog +Name of program to run on +.RB ` "\|cvs update\|" '. +.LP +.I +Files in source repositories: +.TP +$CVSROOT/CVSROOT +Directory of global administrative files for repository. +.TP +CVSROOT/commitinfo,v +Records programs for filtering +.RB ` "\|cvs commit\|" ' +requests. +.TP +CVSROOT/cvswrappers,v +Records +.B cvs +wrapper commands to be used when checking files into and out of the +repository. Wrappers allow the file or directory to be processed +on the way in and out of CVS. The intended uses are many, one +possible use would be to reformat a C file before the file is checked +in, so all of the code in the repository looks the same. +.TP +CVSROOT/editinfo,v +Records programs for editing/validating +.RB ` "\|cvs commit\|" ' +log entries. +.TP +CVSROOT/history +Log file of \fBcvs\fP transactions. +.TP +CVSROOT/loginfo,v +Records programs for piping +.RB ` "\|cvs commit\|" ' +log entries. +.TP +CVSROOT/modules,v +Definitions for modules in this repository. +.TP +CVSROOT/rcsinfo,v +Records pathnames to templates used during a +.RB ` "\|cvs commit\|" ' +operation. +.TP +CVSROOT/taginfo,v +Records programs for validating/logging +.RB ` "\|cvs tag\|" ' +and +.RB ` "\|cvs rtag\|" ' +operations. +.TP +MODULE/Attic +Directory for removed source files. +.TP +#cvs.lock +A lock directory created by +.B cvs +when doing sensitive changes to the +source repository. +.TP +#cvs.tfl.\fIpid\fP +Temporary lock file for repository. +.TP +#cvs.rfl.\fIpid\fP +A read lock. +.TP +#cvs.wfl.\fIpid\fP +A write lock. +.SH "ENVIRONMENT VARIABLES" +.TP +.SM CVSROOT +Should contain the full pathname to the root of the +.B cvs +source repository (where the +.SM RCS +files are kept). This information must be available to \fBcvs\fP for +most commands to execute; if +.SM CVSROOT +is not set, or if you wish to override it for one invocation, you can +supply it on the command line: +.RB ` "\|cvs \-d \fIcvsroot cvs_command\fP\|.\|.\|.\|" ' +You may not need to set +.SM CVSROOT +if your \fBcvs\fP binary has the right path compiled in; use +.RB ` "\|cvs \-v\|" ' +to display all compiled-in paths. +.TP +.SM CVSREAD +If this is set, +.B checkout +and +.B update +will try hard to make the files in your working directory read-only. +When this is not set, the default behavior is to permit modification +of your working files. +.TP +.SM RCSBIN +Specifies the full pathname where to find +.SM RCS +programs, such as +.BR co ( 1 ) +and +.BR ci ( 1 ) +(CVS 1.9 and older). +.TP +.SM CVSEDITOR +Specifies the program to use for recording log messages during +.BR commit . +If not set, the +.SM VISUAL +and +.SM EDITOR +environment variables are tried (in that order). +If neither is set, a system-dependent default editor (e.g., +.BR vi ) +is used. +.TP +.SM CVSREADONLYFS +Setting this variable allows +.B cvs +to run properly without write access to its log file. This is especially +useful when mounting a read-only source tree via NFS. +.TP +.SM CVS_IGNORE_REMOTE_ROOT +If this variable is set then +.B cvs +will ignore all references to remote repositories in the CVS/Root file. +.TP +.SM CVS_RSH +.B cvs +uses the contents of this variable to determine the name of the +remote shell command to use when starting a +.B cvs +server. If this variable is not set then +.RB ` "\|ssh\|" ' +is used. +.TP +.SM CVS_SERVER +.B cvs +uses the contents of this variable to determine the name of the +.B cvs +server command. If this variable is not set then +.RB ` "\|cvs\|" ' +is used. +.TP +.SM CVSWRAPPERS +This variable is used by the +.RB ` "\|cvswrappers\|" ' +script to determine the name of the wrapper file, in addition to the +wrappers defaults contained in the repository +.SM (CVSROOT/cvswrappers) +and the user's home directory (~/.cvswrappers). +.SH "AUTHORS" +.TP +Dick Grune +Original author of the +.B cvs +shell script version posted to +.B comp.sources.unix +in the volume6 release of December, 1986. +Credited with much of the +.B cvs +conflict resolution algorithms. +.TP +Brian Berliner +Coder and designer of the +.B cvs +program itself in April, 1989, based on the original work done by Dick. +.TP +Jeff Polk +Helped Brian with the design of the +.B cvs +module and vendor branch support and author of the +.BR checkin ( 1 ) +shell script (the ancestor of +.RB ` "\|cvs import\|" '). +.TP +And many others too numerous to mention here. +.SH "SEE ALSO" +The most comprehensive manual for CVS is +Version Management with CVS by Per Cederqvist et al. Depending on +your system, you may be able to get it with the +.B info cvs +command or it may be available as cvs.ps (postscript), cvs.texinfo +(texinfo source), or cvs.html. +.sp +For CVS updates, more information on documentation, software related +to CVS, development of CVS, and more, see: +.in +1i +.B http://www.cyclic.com +.in -1i +.sp +.BR ci ( 1 ), +.BR co ( 1 ), +.BR cvs ( 5 ), +.BR cvsbug ( 8 ), +.BR diff ( 1 ), +.BR grep ( 1 ), +.BR patch ( 1 ), +.BR rcs ( 1 ), +.BR rcsdiff ( 1 ), +.BR rcsmerge ( 1 ), +.BR rlog ( 1 ). diff --git a/static/openbsd/man1/date.1 b/static/openbsd/man1/date.1 new file mode 100644 index 00000000..d8f1981f --- /dev/null +++ b/static/openbsd/man1/date.1 @@ -0,0 +1,244 @@ +.\" $OpenBSD: date.1,v 1.72 2021/04/29 00:47:53 deraadt Exp $ +.\" $NetBSD: date.1,v 1.12 1996/03/12 04:32:37 phil Exp $ +.\" +.\" Copyright (c) 1980, 1990, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" the Institute of Electrical and Electronics Engineers, Inc. +.\" +.\" 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. 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. +.\" +.\" @(#)date.1 8.3 (Berkeley) 4/28/95 +.\" +.Dd $Mdocdate: April 29 2021 $ +.Dt DATE 1 +.Os +.Sh NAME +.Nm date +.Nd display or set date and time +.Sh SYNOPSIS +.Nm date +.Op Fl aju +.Op Fl f Ar pformat +.Op Fl r Ar seconds +.Op Fl z Ar output_zone +.Op Cm + Ns Ar format +.Sm off +.Oo Oo Oo Oo Oo Oo +.Ar cc Oc +.Ar yy Oc +.Ar mm Oc +.Ar dd Oc +.Ar HH Oc +.Ar MM +.Op . Ar SS +.Oc +.Sm on +.Sh DESCRIPTION +When invoked without arguments, the +.Nm +utility displays the current date and time. +Otherwise, depending on the options specified, +.Nm +will set the date and time or print it in a user-defined way. +.Pp +Changing the system date has some risks, as described in +.Xr settimeofday 2 . +Only the superuser may change the date. +.Pp +The options are as follows: +.Bl -tag -width Ds +.It Fl a +Use the +.Xr adjtime 2 +call to gradually skew the local time to the +desired time rather than just hopping. +.It Fl f Ar pformat +Parse the specified time using +.Xr strptime 3 +with a format string of +.Ar pformat . +.It Fl j +Parse the provided date and time and display the result without changing +the clock. +.It Fl r Ar seconds +Print out (in specified format) the date and time represented by +.Ar seconds +from the Epoch. +.It Fl u +Display or set the date in UTC (Coordinated Universal) time. +.It Fl z Ar output_zone +Just before printing the time, change to the specified timezone; +see the description of +.Ev TZ +below. +This can be used with +.Fl j +to easily convert time specifications from one zone to another. +.El +.Pp +An operand with a leading plus sign +.Pq Sq + +signals a user-defined format +string which specifies the format in which to display the date and time. +The format string may contain any of the conversion specifications described +in the +.Xr strftime 3 +manual page, as well as any arbitrary text. +A newline +.Pq Ql \en +character is always output after the characters specified by +the format string. +The format string for the default display is: +.Bd -literal -offset indent +%a %b %e %H:%M:%S %Z %Y +.Ed +.Pp +If an operand does not have a leading plus sign, it is interpreted as +a value for setting the system's notion of the current date and time. +The canonical representation for setting the date and time is: +.Pp +.Bl -tag -width Ds -compact -offset indent +.It Ar ccyy +Year. +If yy is specified, but cc is not, +a value for yy between 69 and 99 results in a cc value of 19. +Otherwise, a cc value of 20 is used. +.It Ar mm +Month: +a number from 1 to 12. +.It Ar dd +Day: +a number from 1 to 31. +.It Ar HH +Hour: +a number from 0 to 23. +.It Ar MM +Minute: +a number from 0 to 59. +.It Ar SS +Second: +a number from 0 to 60 +(permitting a leap second), +preceded by a period. +.El +.Pp +Everything but the minute is optional. +.Pp +Time changes for Daylight Saving Time, standard time, leap seconds, +and leap years are handled automatically. +.Sh ENVIRONMENT +.Bl -tag -width Ds +.It Ev TZ +The time zone to use when parsing or displaying dates. +It is normally specified as a pathname relative to +.Pa /usr/share/zoneinfo , +though see +.Xr tzset 3 +for more information. +If this variable is not set, the time zone is determined based on +.Pa /etc/localtime , +which the administrator adjusts using +the +.Fl l +option of +.Xr zic 8 . +.El +.Sh FILES +.Bl -tag -width /var/log/messages -compact +.It Pa /var/log/wtmp +record of date resets and time changes +.It Pa /var/log/messages +record of the user setting the time +.El +.Sh EXIT STATUS +.Ex -std +.Sh EXAMPLES +Display the date using the specified format string: +.Bd -literal -offset indent +$ date "+DATE: %Y-%m-%d%nTIME: %H:%M:%S" +DATE: 1987-11-21 +TIME: 13:36:16 +.Ed +.Pp +Set the date to +June 13, 1985, 4:27 PM: +.Pp +.Dl # date 198506131627 +.Pp +Set the time to +2:32 PM, +without modifying the date: +.Pp +.Dl # date 1432 +.Pp +If the mailing list server located in California +is being taken offline at 5:45 AM, +work out what time it will be locally, here in Tokyo: +.Pp +.Dl $ TZ=America/Los_Angeles date -j -z Asia/Tokyo 0545 +.Sh SEE ALSO +.Xr adjtime 2 , +.Xr gettimeofday 2 , +.Xr strftime 3 , +.Xr utmp 5 , +.Xr ntpd 8 , +.Xr rdate 8 +.Sh STANDARDS +The +.Nm +utility is compliant with the +.St -p1003.1-2008 +specification. +.Pp +The flags +.Op Fl afjrz , +as well as the conversion specifiers +.Ql \&%F , +.Ql \&%G , +.Ql \&%g , +.Ql \&%k , +.Ql \&%l , +.Ql \&%R , +.Ql \&%s , +.Ql \&%v , +and +.Ql \&%+ , +are extensions to that specification. +.Pp +This implementation requires the traditional +.Bx +date format, +[[[[[cc]yy]mm]dd]HH]MM[.SS], +which differs from the +X/Open System Interfaces option of the +.St -p1003.1-2008 +specification. +.Sh HISTORY +A +.Nm +command appeared in +.At v1 . diff --git a/static/openbsd/man1/dbe.1 b/static/openbsd/man1/dbe.1 new file mode 100644 index 00000000..3b322726 --- /dev/null +++ b/static/openbsd/man1/dbe.1 @@ -0,0 +1,46 @@ +.TH dbe 1 "ndbm(3) EDITOR" +.SH NAME +dbe \- Edit a ndbm(3) database +.SH USAGE +dbe [-m r|w|rw] [-crtvx] -a|-d|-f|-F|-s [ []] +.SH DESCRIPTION +\fIdbme\fP operates on ndbm(3) databases. +It can be used to create them, look at them or change them. +When specifying the value of a key or the content of its associated entry, +\\nnn, \\0, \\n, \\t, \\f and \\r are interpreted as usual. +When displaying key/content pairs, non-printable characters are displayed +using the \\nnn notation. +.SH OPTIONS +.IP -a +List all entries in the database. +.IP -c +Create the database if it does not exist. +.IP -d +Delete the entry associated with the specified key. +.IP -f +Fetch and display the entry associated with the specified key. +.IP -F +Fetch and display all the entries whose key match the specified +regular-expression +.IP "-m r|w|rw" +Open the database in read-only, write-only or read-write mode +.IP -r +Replace the entry associated with the specified key if it already exists. +See option -s. +.IP -s +Store an entry under a specific key. +An error occurs if the key already exists and the option -r was not specified. +.IP -t +Re-initialize the database before executing the command. +.IP -v +Verbose mode. +Confirm stores and deletions. +.IP -x +If option -x is used with option -c, then if the database already exists, +an error occurs. +This can be used to implement a simple exclusive access locking mechanism. +.SH SEE ALSO +ndbm(3) +.SH AUTHOR +janick@bnr.ca + diff --git a/static/openbsd/man1/dbm_dump.1 b/static/openbsd/man1/dbm_dump.1 new file mode 100644 index 00000000..4b589777 --- /dev/null +++ b/static/openbsd/man1/dbm_dump.1 @@ -0,0 +1,191 @@ +.\" $OpenBSD: dbm_dump.1,v 1.1 2016/07/30 10:56:13 schwarze Exp $ +.\" +.\" Copyright (c) 2016 Ingo Schwarze +.\" +.\" Permission to use, copy, modify, and distribute this software for any +.\" purpose with or without fee is hereby granted, provided that the above +.\" copyright notice and this permission notice appear in all copies. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +.\" +.Dd $Mdocdate: July 30 2016 $ +.Dt DBM_DUMP 1 +.Os +.Sh NAME +.Nm dbm_dump +.Nd dump a mandoc.db(5) file +.Sh SYNOPSIS +.Nm dbm_dump +.Ar file +.Sh DESCRIPTION +The +.Nm +utility reads a +.Xr mandoc_db 5 +database from the given +.Ar file +and dumps it to the standard output in a format that is suitable for +.Xr diff 1 . +.Pp +Offsets are given in bytes, zero-based, and printed in hexadecimal numbers. +Counts are printed in decimal numbers. +.Pp +Each non-empty table - the PAGES table, the MACROS table, and any +MACRO table - is preceded and followed by a line beginning with +three equal signs +.Pq Sq === . +Empty tables produce no output. +.Pp +In the PAGES table, an entry may produce four or five lines of output, +depending on whether an +.Fa arch +value is present. +Each +.Fa name +value is preceded by one or more attributes in square brackets, +telling what kind of a name it is: +.Pp +.Bl -tag -width 1n -compact -offset indent +.It Sy f +a file name +.It Sy h +a header line name taken from a +.Ic \&Dt +or +.Ic \&TH +macro +.It Sy 1 +the name from the first +.Ic \&Nm +macro in the NAME section +.It Sy t +a title name: a name from any +.Ic \&Nm +macro in the NAME section +.It Sy s +any name from a +.Ic \&Nm +macro in the SYNOPSIS section +.El +.Pp +In each MACRO table, macro values are followed by the primary name +of each page in which they occur. +This does not uniquely identify the pages because several pages +may share the same primary name. +.Sh FILES +The header files +.Qq Pa mansearch.h , +.Qq Pa dbm_map.h , +and +.Qq Pa dbm.h +and the object files +.Pa dbm_map.o +and +.Pa dbm.o +from the +.Xr mandoc 1 +build are required to compile and link +.Nm . +.Sh EXIT STATUS +.Ex -std +It fails when no argument or more than one argument is given or when +.Fn dbm_open +fails. +The pointer jumps described below +.Sx DIAGNOSTICS +do not imply failure. +.Sh EXAMPLES +Several examples of +.Nm +output can be found in the directory +.Pa /usr/src/regress/usr.bin/mandoc/db/out/ . +Standard output is saved in files with the extension +.Pa *.dout , +standard error is collected in the file +.Pa all.derr . +.Sh DIAGNOSTICS +The function +.Fn dbm_open +detects various kinds of issues with the file format +and reports them on the standard error output. +.Pp +Otherwise, the +.Nm +utility checks that the input file contains no holes +and that no pointers point backwards. +For each violation, the following message is printed: +.Pp +.D1 Ar pointer Sy jumps from Ar expected Sy to Ar specified +.Pp +Here, +.Ar pointer +specifies what the dubious pointer is supposed to point to: +.Pp +.Bl -tag -width macros -compact +.It Sy name0 +the primary name of the first page +.It Sy name +the primary name of another page +.It Sy sect0 +the first section of the first page +.It Sy sect +the first section of another page +.It Sy arch0 +the first architecture of the first architecture-specific page +.It Sy arch +the first architecture of another page +.It Sy desc0 +the one-line description of the first page +.It Sy desc +the one-line description of another page +.It Sy file0 +the first filename of the first page +.It Sy file +the first filename of another page +.It Sy macros +the number of macro tables +.It Sy macro0 +the number of entries in the first macro table +.It Sy macro +the number of entries in another macro table +.It Sy value0 +the first value of a macro +.It Sy value +another value of a macro +.It Sy pages0 +the list of pointers to pages mentioning the first macro value +.It Sy pages +the list of pointers to pages mentioning another macro value +.It Sy end +the final magic +.El +.Pp +The hexadecimal 32-bit integers +.Ar expected +and +.Ar specified +give the byte offset of a specific data element in the file; +respectively, the one +.Ar expected +from the end of the preceding data in the file and the one actually +.Ar found +when reading the location where the pointer ought to be. +If +.Ar found +is greater than +.Ar expected , +there is a hole, and the file could theoretically still be usable, +even though it is not likely to be correct. +If +.Ar found +is less than +.Ar expected , +the file is corrupt because it contains a backward pointer. +.Sh AUTHORS +.An Ingo Schwarze Aq Mt schwarze@openbsd.org diff --git a/static/openbsd/man1/dc.1 b/static/openbsd/man1/dc.1 new file mode 100644 index 00000000..ab7d7c6f --- /dev/null +++ b/static/openbsd/man1/dc.1 @@ -0,0 +1,550 @@ +.\" $OpenBSD: dc.1,v 1.35 2021/03/08 02:47:27 jsg Exp $ +.\" +.\" Copyright (C) Caldera International Inc. 2001-2002. +.\" 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 and documentation 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 or owned by Caldera +.\" International, Inc. +.\" 4. Neither the name of Caldera International, Inc. nor the names of other +.\" contributors may be used to endorse or promote products derived from +.\" this software without specific prior written permission. +.\" +.\" USE OF THE SOFTWARE PROVIDED FOR UNDER THIS LICENSE BY CALDERA +.\" INTERNATIONAL, INC. 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 CALDERA INTERNATIONAL, INC. 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. +.\" +.\" @(#)dc.1 8.1 (Berkeley) 6/6/93 +.\" +.Dd $Mdocdate: March 8 2021 $ +.Dt DC 1 +.Os +.Sh NAME +.Nm dc +.Nd desk calculator +.Sh SYNOPSIS +.Nm +.Op Fl x +.Op Fl e Ar expression +.Op Ar file +.Sh DESCRIPTION +.Nm +is an arbitrary precision arithmetic package. +The overall structure of +.Nm +is +a stacking (reverse Polish) calculator i.e.\& +numbers are stored on a stack. +Adding a number pushes it onto the stack. +Arithmetic operations pop arguments off the stack +and push the results. +See also the +.Xr bc 1 +utility, which is a preprocessor for +.Nm +providing infix notation and a C-like syntax +which implements functions and reasonable control +structures for programs. +The options are as follows: +.Bl -tag -width Ds +.It Fl e Ar expression +Evaluate +.Ar expression . +If multiple +.Fl e +options are specified, they will be processed in the order given. +.It Fl x +Enable extended register mode. +This mode is used by +.Xr bc 1 +to allow more than 256 registers. +See +.Sx Registers +for a more detailed description. +.El +.Pp +If neither +.Ar expression +nor +.Ar file +are specified on the command line, +.Nm +reads from the standard input. +Otherwise +.Ar expression +and +.Ar file +are processed and +.Nm +exits. +.Pp +Ordinarily, +.Nm +operates on decimal integers, +but one may specify an input base, output base, +and a number of fractional digits (scale) to be maintained. +Whitespace is ignored, except where it signals the end of a number, +end of a line or when a register name is expected. +The following constructions are recognized: +.Bl -tag -width "number" +.It Va number +The value of the number is pushed on the stack. +A number is an unbroken string of the digits 0\-9 and letters A\-F. +It may be preceded by an underscore +.Pq Sq _ +to input a negative number. +A number may contain a single decimal point. +A number may also contain the characters A\-F, with the values 10\-15. +.It Cm "+ - / * % ~ ^" +The +top two values on the stack are added +(+), +subtracted +(\-), +multiplied (*), +divided (/), +remaindered (%), +divided and remaindered (~), +or exponentiated (^). +The two entries are popped off the stack; +the result is pushed on the stack in their place. +Any fractional part of an exponent is ignored. +.Pp +For addition and subtraction, the scale of the result is the maximum +of scales of the operands. +For division the scale of the result is defined +by the scale set by the +.Ic k +operation. +For multiplication, the scale is defined by the expression +.Sy min(a+b,max(a,b,scale)) , +where +.Sy a +and +.Sy b +are the scales of the operands, and +.Sy scale +is the scale defined by the +.Ic k +operation. +For exponentiation with a non-negative exponent, the scale of the result is +.Sy min(a*b,max(scale,a)) , +where +.Sy a +is the scale of the base, and +.Sy b +is the +.Em value +of the exponent. +If the exponent is negative, the scale of the result is the scale +defined by the +.Ic k +operation. +.Pp +In the case of the division and modulus operator (~), +the resultant quotient is pushed first followed by the remainder. +This is a shorthand for the sequence: +.Bd -literal -offset indent -compact +x y / x y % +.Ed +The division and modulus operator is a non-portable extension. +.It Ic a +Pop the top value from the stack. +If that value is a number, compute the integer part of the number modulo 256. +If the result is zero, push an empty string. +Otherwise push a one character string by interpreting the computed value +as an +.Tn ASCII +character. +.Pp +If the top value is a string, push a string containing the first character +of the original string. +If the original string is empty, an empty string is pushed back. +The +.Ic a +operator is a non-portable extension. +.It Ic c +All values on the stack are popped. +.It Ic d +The top value on the stack is duplicated. +.It Ic e +Equivalent to +.Ic p , +except that the output is written to the standard error stream. +This is a non-portable extension. +.It Ic f +All values on the stack are printed, separated by newlines. +.It Ic G +The top two numbers are popped from the stack and compared. +A one is pushed if the top of the stack is equal to the second number +on the stack. +A zero is pushed otherwise. +This is a non-portable extension. +.It Ic I +Pushes the input base on the top of the stack. +.It Ic i +The top value on the stack is popped and used as the +base for further input. +The initial input base is 10. +.It Ic J +Pop the top value from the stack. +The recursion level is popped by that value and, following that, +the input is skipped until the first occurrence of the +.Ic M +operator. +The +.Ic J +operator is a non-portable extension, used by the +.Xr bc 1 +command. +.It Ic K +The current scale factor is pushed onto the stack. +.It Ic k +The top of the stack is popped, and that value is used as +a non-negative scale factor: +the appropriate number of places +are printed on output, +and maintained during multiplication, division, and exponentiation. +The interaction of scale factor, +input base, and output base will be reasonable if all are changed +together. +.It Ic L Ns Ar x +Register +.Ar x +is treated as a stack and its top value is popped onto the main stack. +.It Ic l Ns Ar x +The +value in register +.Ar x +is pushed on the stack. +The register +.Ar x +is not altered. +Initially, all registers contain the value zero. +.It Ic M +Mark used by the +.Ic J +operator. +The +.Ic M +operator is a non-portable extension, used by the +.Xr bc 1 +command. +.It Ic N +The top of the stack is replaced by one if the top of the stack +is equal to zero. +If the top of the stack is unequal to zero, it is replaced by zero. +This is a non-portable extension. +.It Ic n +The top value on the stack is popped and printed without a newline. +This is a non-portable extension. +.It Ic O +Pushes the output base on the top of the stack. +.It Ic o +The top value on the stack is popped and used as the +base for further output. +The initial output base is 10. +.It Ic P +The top of the stack is popped. +If the top of the stack is a string, it is printed without a trailing newline. +If the top of the stack is a number, it is interpreted as a +base 256 number, and each digit of this base 256 number is printed as +an +.Tn ASCII +character, without a trailing newline. +.It Ic p +The top value on the stack is printed with a trailing newline. +The top value remains unchanged. +.It Ic Q +The top value on the stack is popped and the string execution level is popped +by that value. +.It Ic q +Exits the program. +If executing a string, the recursion level is +popped by two. +.It Ic R +The top of the stack is removed (popped). +This is a non-portable extension. +.It Ic r +The top two values on the stack are reversed (swapped). +This is a non-portable extension. +.It Ic S Ns Ar x +Register +.Ar x +is treated as a stack. +The top value of the main stack is popped and pushed on it. +.It Ic s Ns Ar x +The +top of the stack is popped and stored into +a register named +.Ar x . +.It Ic v +Replaces the top element on the stack by its square root. +The scale of the result is the maximum of the scale of the argument +and the current value of scale. +.It Ic X +Replaces the number on the top of the stack with its scale factor. +If the top of the stack is a string, replace it with the integer 0. +.It Ic x +Treats the top element of the stack as a character string +and executes it as a string of +.Nm +commands. +.It Ic Z +Replaces the number on the top of the stack with its length. +The length of a string is its number of characters. +The length of a number is its number of digits, not counting the minus sign +and decimal point. +The length of a zero value is its scale. +.It Ic z +The stack level is pushed onto the stack. +.It Cm \&[ Ns ... Ns Cm \&] +Puts the bracketed +.Tn ASCII +string onto the top of the stack. +If the string includes brackets, these must be properly balanced. +The backslash character +.Pq Sq \e +may be used as an escape character, making it +possible to include unbalanced brackets in strings. +To include a backslash in a string, use a double backslash. +.It Xo +.Cm < Ns Va x +.Cm > Ns Va x +.Cm = Ns Va x +.Cm !< Ns Va x +.Cm !> Ns Va x +.Cm != Ns Va x +.Xc +The top two elements of the stack are popped and compared. +Register +.Ar x +is executed if they obey the stated +relation. +.It Xo +.Cm < Ns Va x Ns e Ns Va y +.Cm > Ns Va x Ns e Ns Va y +.Cm = Ns Va x Ns e Ns Va y +.Cm !< Ns Va x Ns e Ns Va y +.Cm !> Ns Va x Ns e Ns Va y +.Cm != Ns Va x Ns e Ns Va y +.Xc +These operations are variants of the comparison operations above. +The first register name is followed by the letter +.Sq e +and another register name. +Register +.Ar x +will be executed if the relation is true, and register +.Ar y +will be executed if the relation is false. +This is a non-portable extension. +.It Ic \&( +The top two numbers are popped from the stack and compared. +A one is pushed if the top of the stack is less than the second number +on the stack. +A zero is pushed otherwise. +This is a non-portable extension. +.It Ic { +The top two numbers are popped from the stack and compared. +A one is pushed if the top of stack is less than or equal to the +second number on the stack. +A zero is pushed otherwise. +This is a non-portable extension. +.It Ic \&? +A line of input is taken from the input source (usually the terminal) +and executed. +.It Ic \&: Ns Ar r +Pop two values from the stack. +The second value on the stack is stored into the array +.Ar r +indexed by the top of stack. +.It Ic \&; Ns Ar r +Pop a value from the stack. +The value is used as an index into register +.Ar r . +The value in this register is pushed onto the stack. +.Pp +Array elements initially have the value zero. +Each level of a stacked register has its own array associated with +it. +The command sequence +.Bd -literal -offset indent +[first] 0:a [dummy] Sa [second] 0:a 0;a p La 0;a p +.Ed +.Pp +will print +.Bd -literal -offset indent +second +first +.Ed +.Pp +since the string +.Ql second +is written in an array that is later popped, to reveal the array that +stored +.Ql first . +.It Ic # +Skip the rest of the line. +This is a non-portable extension. +.El +.Ss Registers +Registers have a single character name +.Ar x , +where +.Ar x +may be any character, including space, tab or any other special character. +If extended register mode is enabled using the +.Fl x +option and the register identifier +.Ar x +has the value 255, the next two characters are interpreted as a +two-byte register index. +The set of standard single character registers and the set of extended +registers do not overlap. +Extended register mode is a non-portable extension. +.Sh EXAMPLES +An example which prints the first ten values of +.Ic n! : +.Bd -literal -offset indent +[la1+dsa*pla10>y]sy +0sa1 +lyx +.Ed +.Pp +Independent of the current input base, the command +.Bd -literal -offset indent +Ai +.Ed +.Pp +will reset the input base to decimal 10. +.Sh DIAGNOSTICS +.Bl -diag +.It %c (0%o) is unimplemented +an undefined operation was called. +.It stack empty +for not enough elements on the stack to do what was asked. +.It stack register '%c' (0%o) is empty +for an +.Ar L +operation from a stack register that is empty. +.It Runtime warning: non-zero scale in exponent +for a fractional part of an exponent that is being ignored. +.It divide by zero +for trying to divide by zero. +.It remainder by zero +for trying to take a remainder by zero. +.It square root of negative number +for trying to take the square root of a negative number. +.It index too big +for an array index that is larger than 2048. +.It negative index +for a negative array index. +.It "input base must be a number between 2 and 16" +for trying to set an illegal input base. +.It output base must be a number greater than 1 +for trying to set an illegal output base. +.It scale must be a nonnegative number +for trying to set a negative or zero scale. +.It scale too large +for trying to set a scale that is too large. +A scale must be representable as a 32-bit unsigned number. +.It Q command argument exceeded string execution depth +for trying to pop the recursion level more than the current +recursion level. +.It Q command requires a number >= 1 +for trying to pop an illegal number of recursion levels. +.It recursion too deep +for too many levels of nested execution. +.Pp +The recursion level is increased by one if the +.Ar x +or +.Ar ?\& +operation or one of the compare operations resulting in the execution +of register is executed. +As an exception, the recursion level is not increased if the operation +is executed as the last command of a string. +For example, the commands +.Bd -literal -offset indent +[lax]sa +1 lax +.Ed +.Pp +will execute an endless loop, while the commands +.Bd -literal -offset indent +[laxp]sa +1 lax +.Ed +.Pp +will terminate because of a too deep recursion level. +.It J command argument exceeded string execution depth +for trying to pop the recursion level more than the current +recursion level. +.It mark not found +for a failed scan for an occurrence of the +.Ic M +operator. +.El +.Sh SEE ALSO +.Xr bc 1 +.Rs +.\" 4.4BSD USD:5 +.%A R. H. Morris +.%A L. L. Cherry +.%T DC \(em An Interactive Desk Calculator +.Re +.Sh STANDARDS +The arithmetic operations of the +.Nm +utility are expected to conform to the definition listed in the +.Xr bc 1 +section of the +.St -p1003.2 +specification. +.Sh HISTORY +The +.Nm +command appeared in +.At v1 . +A complete rewrite of the +.Nm +command using the +.Xr BN_new 3 +big number routines first appeared in +.Ox 3.5 . +.Sh AUTHORS +.An -nosplit +The original version of the +.Nm +command was written by +.An Robert Morris +and +.An Lorinda Cherry . +The current version of the +.Nm +utility was written by +.An Otto Moerbeek . +.Sh CAVEATS +While fractional input in base 10 is always exact, +other bases may suffer from unintuitive rounding. +To avoid surprising results, plain integer division can be used +instead of the corresponding floating point notation. diff --git a/static/openbsd/man1/dd.1 b/static/openbsd/man1/dd.1 new file mode 100644 index 00000000..8a9049da --- /dev/null +++ b/static/openbsd/man1/dd.1 @@ -0,0 +1,382 @@ +.\" $OpenBSD: dd.1,v 1.39 2020/10/29 07:01:24 jmc Exp $ +.\" $NetBSD: dd.1,v 1.5 1995/03/21 09:04:04 cgd Exp $ +.\" +.\" Copyright (c) 1990, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" Keith Muller of the University of California, San Diego. +.\" +.\" 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. 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. +.\" +.\" @(#)dd.1 8.2 (Berkeley) 1/13/94 +.\" +.Dd $Mdocdate: October 29 2020 $ +.Dt DD 1 +.Os +.Sh NAME +.Nm dd +.Nd convert and copy a file +.Sh SYNOPSIS +.Nm dd +.Op Ar operand ... +.Sh DESCRIPTION +The +.Nm +utility copies the standard input to the standard output, applying any +specified conversions. +Input data is read and written in 512-byte blocks. +If input reads are short, input from multiple reads are aggregated +to form the output block. +When finished, +.Nm +displays the number of complete and partial input and output blocks +and truncated input records to the standard error output. +.Pp +The following operands are available: +.Bl -tag -width of=file +.It Cm if Ns = Ns Ar file +Read input from +.Ar file +instead of the standard input. +.It Cm of Ns = Ns Ar file +Write output to +.Ar file +instead of the standard output. +Any regular output file is truncated unless the +.Cm notrunc +conversion value is specified. +If an initial portion of the output file is skipped (see the +.Cm seek +operand), +the output file is truncated at that point. +.It Cm ibs Ns = Ns Ar n +Set the input block size to +.Ar n +bytes instead of the default 512. +.It Cm obs Ns = Ns Ar n +Set the output block size to +.Ar n +bytes instead of the default 512. +.It Cm bs Ns = Ns Ar n +Set both the input and output block size to +.Ar n +bytes, superseding the +.Cm ibs +and +.Cm obs +operands. +If no conversion values other than +.Cm noerror , +.Cm notrunc , +or +.Cm sync +are specified, then each input block is copied to the output as a +single block without any aggregation of short blocks. +.It Cm cbs Ns = Ns Ar n +Set the conversion record size to +.Ar n +bytes. +The conversion record size is required by the record oriented conversion +values. +.It Cm count Ns = Ns Ar n +Copy only +.Ar n +input blocks. +.It Cm files Ns = Ns Ar n +Copy +.Ar n +input files before terminating. +This operand is only applicable when the input device is a tape. +.It Cm seek Ns = Ns Ar n +Seek +.Ar n +blocks from the beginning of the output before copying. +On non-tape devices, an +.Xr lseek 2 +operation is used. +Otherwise, existing blocks are read and the data discarded. +If the user does not have read permission for the tape, it is positioned +using the tape +.Xr ioctl 2 +function calls. +If the seek operation is past the end of file, space from the current +end of file to the specified offset is filled with blocks of NUL bytes. +.It Cm skip Ns = Ns Ar n +Skip +.Ar n +blocks from the beginning of the input before copying. +On input which supports seeks, an +.Xr lseek 2 +operation is used. +Otherwise, input data is read and discarded. +For pipes, the correct number of bytes is read. +For all other devices, the correct number of blocks is read without +distinguishing between a partial or complete block being read. +.It Cm status Ns = Ns Ar value +The +.Ar value +is one of the symbols from the following list: +.Bl -tag -width unblock +.It Cm noxfer +Do not print the transfer statistics as the last line of status output. +.It Cm none +Do not print the status output. +Error messages are shown; informational messages are not. +.El +.It Cm conv Ns = Ns Ar value Ns Op , Ns Ar value ... +Each +.Ar value +is one of the symbols from the following list: +.Bl -tag -width unblock +.It Cm ascii +The same as the +.Cm unblock +value except that characters are translated from EBCDIC to ASCII +before the records are converted. +(These values imply +.Cm unblock +if the operand +.Cm cbs +is also specified.) +.It Cm block +Treats the input as a sequence of newline or end-of-file terminated variable +length records independent of input and output block boundaries. +Any trailing newline character is discarded. +Each input record is converted to a fixed length output record where the +length is specified by the +.Cm cbs +operand. +Input records shorter than the conversion record size are padded with spaces. +Input records longer than the conversion record size are truncated. +The number of truncated input records, if any, is reported to the standard +error output at the completion of the copy. +.It Cm ebcdic , ibm +The same as the +.Cm block +value except that characters are translated from ASCII to EBCDIC +after the records are converted. +(These values imply +.Cm block +if the operand +.Cm cbs +is also specified.) +There are two conversion maps for EBCDIC. +The value +.Cm ebcdic +specifies the recommended one which is compatible with +.At V . +The value +.Cm ibm +is a slightly different mapping, which is compatible with the +.At V +.Cm ibm +value. +.It Cm fsync +Call +.Xr fsync 2 +on the output file before exiting. +.It Cm lcase +Transform uppercase characters into lowercase characters. +.It Cm noerror +Do not stop processing on an input error. +When an input error occurs, a diagnostic message followed by the current +input and output block counts will be written to the standard error output +in the same format as the standard completion message. +If the +.Cm sync +conversion is also specified, any missing input data will be replaced +with NUL bytes (or with spaces if a block oriented conversion value was +specified) and processed as a normal input buffer. +If the +.Cm sync +conversion is not specified, the input block is omitted from the output. +On input files which are not tapes or pipes, the file offset +will be positioned past the block in which the error occurred using +.Xr lseek 2 . +.It Cm notrunc +Do not truncate the output file. +This will preserve any blocks in the output file not explicitly written +by +.Nm dd . +The +.Cm notrunc +value is not supported for tapes. +.It Cm osync +Pad the final output block to the full output block size. +This forces the final output block to be the same size +as preceding blocks for use on devices that require +regularly sized blocks to be written. +This option is incompatible with the +.Cm bs +block size specification. +.It Cm swab +Swap every pair of input bytes. +If an input buffer has an odd number of bytes, the last byte will be +ignored during swapping. +.It Cm sync +Pad every input block to the input buffer size. +Spaces are used for pad bytes if a block oriented conversion value is +specified, otherwise NUL bytes are used. +.It Cm ucase +Transform lowercase characters into uppercase characters. +.It Cm unblock +Treats the input as a sequence of fixed length records independent of input +and output block boundaries. +The length of the input records is specified by the +.Cm cbs +operand. +Any trailing space characters are discarded and a newline character is +appended. +.El +.El +.Pp +Where sizes are specified, a decimal number of bytes is expected. +If the number ends with a +.Sq b , +.Sq k +or +.Sq K , +.Sq m +or +.Sq M , +.Sq g +or +.Sq G , +or +.Sq w , +the number is multiplied by 512, 1024 (1K), 1048576 (1M), 1073741824 (1G), +or the number of bytes in an integer, respectively. +Two or more numbers may be separated by an +.Sq x +to indicate a product. +.Pp +When finished, +.Nm +displays the number of complete and partial input and output blocks, +truncated input records, and odd-length byte-swapping blocks to the +standard error output. +A partial input block is one where less than the input block size +was read. +A partial output block is one where less than the output block size +was written. +Partial output blocks to tape devices are considered fatal errors. +Otherwise, the rest of the block will be written. +Partial output blocks to character devices will produce a warning message. +A truncated input block is one where a variable length record oriented +conversion value was specified and the input line was too long to +fit in the conversion record or was not newline terminated. +.Pp +Normally, data resulting from input or conversion or both are aggregated +into output blocks of the specified size. +After the end of input is reached, any remaining output is written as +a block. +This means that the final output block may be shorter than the output +block size. +.Pp +If +.Nm +receives a +.Dv SIGINFO +(see the +.Dq status +argument for +.Xr stty 1 ) +signal, the current input and output block counts will +be written to the standard error output +in the same format as the standard completion message. +If +.Nm +receives a +.Dv SIGINT +signal, the current input and output block counts will +be written to the standard error output +in the same format as the standard completion message and +.Nm +will exit. +.Sh EXIT STATUS +.Ex -std dd +.Sh EXAMPLES +Write a bootable +.Ox +disk image to a USB flash drive attached at +.Pa /dev/sd3 : +.Pp +.Dl # dd if=install68.img of=/dev/rsd3c bs=1m +.Pp +Create an ISO-9660 image of a CD-ROM: +.Pp +.Dl # dd if=/dev/rcd0c of=disk.iso bs=32k +.Sh SEE ALSO +.Xr cp 1 , +.Xr mt 1 , +.Xr tr 1 +.Sh STANDARDS +The +.Nm +utility is compliant with the +.St -p1003.1-2008 +specification. +.Pp +The conversions +.Cm ascii , +.Cm ebcdic , +and +.Cm ibm +are marked by +.St -p1003.1-2008 +as being an +X/Open System Interfaces option. +.Pp +The +.Cm files +and +.Cm status +operands, +the +.Cm fsync +and +.Cm osync +conversions, +the +.Sq K , +.Sq m , +.Sq M , +.Sq g , +.Sq G , +and +.Sq w +size multipliers +and +.Dv SIGINFO +handling +are all extensions to the +.St -p1003.1-2008 +specification. +.Sh HISTORY +A +.Nm +utility appeared in +.At v5 . diff --git a/static/openbsd/man1/def-i.1 b/static/openbsd/man1/def-i.1 new file mode 100644 index 00000000..17122493 Binary files /dev/null and b/static/openbsd/man1/def-i.1 differ diff --git a/static/openbsd/man1/def-r.1 b/static/openbsd/man1/def-r.1 new file mode 100644 index 00000000..56f5e627 Binary files /dev/null and b/static/openbsd/man1/def-r.1 differ diff --git a/static/openbsd/man1/deroff.1 b/static/openbsd/man1/deroff.1 new file mode 100644 index 00000000..a9c704cd --- /dev/null +++ b/static/openbsd/man1/deroff.1 @@ -0,0 +1,174 @@ +.\" $OpenBSD: deroff.1,v 1.12 2022/12/28 13:00:57 jsg Exp $ +.\" +.\" 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. 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. +.\" +.\" Copyright (C) Caldera International Inc. 2001-2002. +.\" 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 and documentation 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 or owned by Caldera +.\" International, Inc. +.\" 4. Neither the name of Caldera International, Inc. nor the names of other +.\" contributors may be used to endorse or promote products derived from +.\" this software without specific prior written permission. +.\" +.\" USE OF THE SOFTWARE PROVIDED FOR UNDER THIS LICENSE BY CALDERA +.\" INTERNATIONAL, INC. 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 CALDERA INTERNATIONAL, INC. 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. +.\" +.\" @(#)deroff.1 8.1 (Berkeley) 6/6/93 +.\" +.Dd $Mdocdate: December 28 2022 $ +.Dt DEROFF 1 +.Os +.Sh NAME +.Nm deroff +.Nd remove nroff/troff, eqn, pic and tbl constructs +.Sh SYNOPSIS +.Nm deroff +.Op Fl ikpw +.Oo +.Fl m +.Ar a | e | l | m | s +.Oc +.Op Ar +.Sh DESCRIPTION +.Nm deroff +reads each file in sequence and removes all roff +command lines, backslash constructions, macro definitions, +eqn constructs (between +.Dq .EQ +and +.Dq .EN +lines or between delimiters), +pic pictures, +and table descriptions and writes the remainder to the standard output. +.Nm +follows chains of included files +.Po +.Dq .so +and +.Dq .nx +commands +.Pc ; +if a file has already been included, a +.Dq .so +is ignored and a +.Dq .nx +terminates execution. +If no input file is given, +.Nm +reads from the standard input. +.Pp +The options are as follows: +.Bl -tag -width Ds +.It Fl i +Ignore +.Dq .so +and +.Dq .nx +commands. +.It Fl k +Keep blocks of text intact. +This is the default behavior unless the +.Fl m +option is given. +.It Fl m +Enable support for common macro packages. +The +.Fl m +option takes the following arguments: +.Pp +.Bl -tag -width Ds -offset indent -compact +.It a +recognize +.Xr man 7 +macros. +.It e +recognize me macros. +.It l +remove list constructs. +.It m +recognize mm macros. +.It s +recognize ms macros. +.El +.It Fl p +Preserve paragraph macros. +This option only has an effect if the +.Fl m +option is also specified. +.It Fl w +Output a word list, one +.Sq word +(string of letters, digits, and apostrophes, beginning with a letter; +apostrophes are removed) per line, and all other characters ignored. +Normally, the output follows the original, with the deletions mentioned above. +.El +.Sh SEE ALSO +.Xr man 7 +.Sh HISTORY +.Nm +first appeared outside of Bell Labs in PWB/UNIX 1.0. +It did not appear in freely redistributable +.Bx +releases for licensing reasons. +After Caldera relicensed early UNIX releases the +.Bx 4.4 +version was added to +.Ox 3.1 . +.Sh AUTHORS +.An Lorinda Cherry +at the Bell Labs Computing Science Research Center. +.Sh BUGS +.Nm +is not a complete troff interpreter, +so it can be confused by subtle constructs. +Most errors result in too much rather than too little output. +.Pp +The +.Fl ml +option does not correctly handle nested lists. diff --git a/static/openbsd/man1/df.1 b/static/openbsd/man1/df.1 new file mode 100644 index 00000000..d54ca558 --- /dev/null +++ b/static/openbsd/man1/df.1 @@ -0,0 +1,183 @@ +.\" $OpenBSD: df.1,v 1.50 2026/01/09 19:54:57 job Exp $ +.\" $NetBSD: df.1,v 1.12 1995/12/05 02:42:45 jtc Exp $ +.\" +.\" Copyright (c) 1989, 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. 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. +.\" +.\" @(#)df.1 8.2 (Berkeley) 1/13/92 +.\" +.Dd $Mdocdate: January 9 2026 $ +.Dt DF 1 +.Os +.Sh NAME +.Nm df +.Nd display free disk space +.Sh SYNOPSIS +.Nm df +.Op Fl hiklnP +.Op Fl t Ar type +.Oo +.Op Ar file | file_system +.Ar ... +.Oc +.Sh DESCRIPTION +The +.Nm +utility displays statistics about the amount of free disk space on the +specified +.Ar file_system +or on the file system of which +.Ar file +is a part. +By default, values are displayed as 512-byte block counts. +If no operands are specified, +statistics for all mounted file systems are displayed +(subject to the +.Fl l +and +.Fl t +options, below). +.Pp +The options are as follows: +.Bl -tag -width Ds +.It Fl h +"Human-readable" output. +Use unit suffixes: Byte, Kilobyte, Megabyte, +Gigabyte, Terabyte, Petabyte, Exabyte in order to reduce the number of +digits to four or less. +This option is incompatible with the +.Fl P +option. +.It Fl i +Include statistics on the number of free inodes, may be combined with the +.Fl h +flag to report using SI symbols. +This option is incompatible with the +.Fl P +option. +.It Fl k +By default, all sizes are reported in 512-byte block counts. +The +.Fl k +option causes the numbers to be reported in kilobyte counts. +.It Fl l +Display statistics only about mounted file systems with the +.Dv MNT_LOCAL +flag set. +If a non-local file system is given as an argument, a +warning is issued and no information is given on that file system. +.It Fl n +Print out the previously obtained statistics from the file systems. +This option should be used if it is possible that one or more +file systems are in a state such that they will not be able to provide +statistics without a long delay. +When this option is specified, +.Nm +will not request new statistics from the file systems, but will respond +with the possibly stale statistics that were previously obtained. +.It Fl P +Print out information in a stricter format designed to be parsed +by portable scripts. +The +.Ev BLOCKSIZE +environment variable is ignored when this option is specified. +.It Fl t Ar type +Indicate the actions should only be taken on +file systems of the specified +.Ar type . +More than one type may be specified in a comma-separated list. +The list of file system types can be prefixed with +.Dq no +to specify the file system types for which action should +.Em not +be taken. +If a file system is given on the command line that is not of +the specified type, a warning is issued and no information is given on +that file system. +.El +.Pp +It is not an error to specify more than one of +the mutually exclusive options +.Fl h +and +.Fl k . +Where more than one of these options is specified, +the last option given overrides the others. +.Sh ENVIRONMENT +.Bl -tag -width BLOCKSIZE +.It Ev BLOCKSIZE +Display block counts in units of size +.Dv BLOCKSIZE . +Ignored if any of the +.Fl h , k +or +.Fl P +options are specified. +.El +.Sh EXIT STATUS +.Ex -std df +.Sh EXAMPLES +Output, in a strict format suitable for portable scripts, disk space +statistics for the +.Pa /usr +file system using kilobyte block sizes: +.Pp +.Dl $ df -kP /usr +.Sh SEE ALSO +.Xr quota 1 , +.Xr getfsstat 2 , +.Xr statfs 2 , +.Xr getmntinfo 3 , +.Xr fstab 5 , +.Xr mount 8 , +.Xr quot 8 +.Sh STANDARDS +The +.Nm +utility is compliant with the +.St -p1003.1-2008 +specification. +.Pp +The flags +.Op Fl hiln , +as well as the +.Ev BLOCKSIZE +environment variable, +are extensions to that specification. +.Pp +This implementation provides the traditional +.Bx +.Fl t +behaviour, +which differs from the +X/Open System Interfaces option +specification. +.Sh HISTORY +A +.Nm +utility appeared in +.At v1 . diff --git a/static/openbsd/man1/diff.1 b/static/openbsd/man1/diff.1 new file mode 100644 index 00000000..c0e2d76e --- /dev/null +++ b/static/openbsd/man1/diff.1 @@ -0,0 +1,475 @@ +.\" $OpenBSD: diff.1,v 1.52 2024/12/03 07:09:14 jmc Exp $ +.\" +.\" Copyright (c) 1980, 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. 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. +.\" +.\" @(#)diff.1 8.1 (Berkeley) 6/30/93 +.\" +.Dd $Mdocdate: December 3 2024 $ +.Dt DIFF 1 +.Os +.Sh NAME +.Nm diff +.Nd differential file and directory comparator +.Sh SYNOPSIS +.Nm diff +.Op Fl abdipTtw +.Oo +.Fl c | e | f | +.Fl n | q | u +.Oc +.Op Fl I Ar pattern +.Op Fl L Ar label +.Ar file1 file2 +.Nm diff +.Op Fl abdipTtw +.Op Fl I Ar pattern +.Op Fl L Ar label +.Fl C Ar number +.Ar file1 file2 +.Nm diff +.Op Fl abditw +.Op Fl I Ar pattern +.Fl D Ar string +.Ar file1 file2 +.Nm diff +.Op Fl abdipTtw +.Op Fl I Ar pattern +.Op Fl L Ar label +.Fl U Ar number +.Ar file1 file2 +.Nm diff +.Op Fl abdiNPprsTtw +.Oo +.Fl c | e | f | +.Fl n | q | u +.Oc +.Op Fl I Ar pattern +.Bk -words +.Op Fl L Ar label +.Op Fl S Ar name +.Op Fl X Ar file +.Op Fl x Ar pattern +.Ek +.Ar dir1 dir2 +.Sh DESCRIPTION +The +.Nm +utility compares the contents of +.Ar file1 +and +.Ar file2 +and writes to the standard output the list of changes necessary to +convert one file into the other. +No output is produced if the files are identical. +.Pp +Output options (mutually exclusive): +.Bl -tag -width Ds +.It Fl C Ar number +Like +.Fl c +but produces a diff with +.Ar number +lines of context. +.It Fl c +Produces a diff with 3 lines of context. +With +.Fl c +the output format is modified slightly: +the output begins with identification of the files involved and +their creation dates and then each change is separated +by a line with fifteen +.Li * Ns 's . +The lines removed from +.Ar file1 +are marked with +.Sq \-\ \& ; +those added to +.Ar file2 +are marked +.Sq +\ \& . +Lines which are changed from one file to the other are marked in +both files with +.Sq !\ \& . +Changes which lie within 3 lines of each other are grouped together on +output. +.It Fl D Ar string +Creates a merged version of +.Ar file1 +and +.Ar file2 +on the standard output, with C preprocessor controls included so that +a compilation of the result without defining +.Ar string +is equivalent to compiling +.Ar file1 , +while defining +.Ar string +will yield +.Ar file2 . +.It Fl e +Produces output in a form suitable as input for the editor utility, +.Xr ed 1 , +which can then be used to convert file1 into file2. +.Pp +Extra commands are added to the output when comparing directories with +.Fl e , +so that the result is a +.Xr sh 1 +script for converting text files which are common to the two directories +from their state in +.Ar dir1 +to their state in +.Ar dir2 . +.It Fl f +Identical output to that of the +.Fl e +flag, but in reverse order. +It cannot be digested by +.Xr ed 1 . +.It Fl n +Produces a script similar to that of +.Fl e , +but in the opposite order and with a count of changed lines on each +insert or delete command. +This is the form used by +.Xr rcsdiff 1 . +.It Fl q +Just print a line when the files differ. +Does not output a list of changes. +.It Fl U Ar number +Like +.Fl u +but produces a diff with +.Ar number +lines of context. +.It Fl u +Produces a +.Em unified +diff with 3 lines of context. +A unified diff is similar to the context diff produced by the +.Fl c +option. +However, unlike with +.Fl c , +all lines to be changed (added and/or removed) are present in +a single section. +.El +.Pp +Comparison options: +.Bl -tag -width Ds +.It Fl a +Treat all files as ASCII text. +Normally +.Nm +will simply print +.Dq Binary files ... differ +if files contain binary characters. +Use of this option forces +.Nm +to produce a diff. +.It Fl b +Causes trailing blanks (spaces and tabs) to be ignored, and other +strings of blanks to compare equal. +.It Fl d +Try very hard to produce a diff as small as possible. +This may consume a lot of processing power and memory when processing +large files with many changes. +.It Fl I Ar pattern +Ignores changes, insertions, and deletions whose lines match the +extended regular expression +.Ar pattern . +Multiple +.Fl I +patterns may be specified. +All lines in the change must match some pattern for the change to be +ignored. +See +.Xr re_format 7 +for more information on regular expression patterns. +.It Fl i +Ignores the case of letters. +E.g., +.Dq A +will compare equal to +.Dq a . +.It Fl L Ar label +Print +.Ar label +instead of the first (and second, if this option is specified twice) +file name and time in the context or unified diff header. +.It Fl p +With unified and context diffs, show with each change +the first 40 characters of the last line before the context beginning +with a letter, an underscore or a dollar sign. +For C source code following standard layout conventions, this will +show the prototype of the function the change applies to. +.It Fl T +Print a tab rather than a space before the rest of the line for the +normal, context or unified output formats. +This makes the alignment of tabs in the line consistent. +.It Fl t +Will expand tabs in output lines. +Normal or +.Fl c +output adds character(s) to the front of each line which may screw up +the indentation of the original source lines and make the output listing +difficult to interpret. +This option will preserve the original source's indentation. +.It Fl w +Is similar to +.Fl b +but causes whitespace (blanks and tabs) to be totally ignored. +E.g., +.Dq if (\ \&a == b \&) +will compare equal to +.Dq if(a==b) . +.El +.Pp +Directory comparison options: +.Bl -tag -width Ds +.It Fl N +If a file is found in only one directory, act as if it was found in the +other directory too but was of zero size. +.It Fl P +If a file is found only in +.Ar dir2 , +act as if it was found in +.Ar dir1 +too but was of zero size. +.It Fl r +Causes application of +.Nm +recursively to common subdirectories encountered. +.It Fl S Ar name +Re-starts a directory +.Nm +in the middle, beginning with file +.Ar name . +.It Fl s +Causes +.Nm +to report files which are the same, which are otherwise not mentioned. +.It Fl X Ar file +Exclude files and subdirectories from comparison whose basenames match +lines in +.Ar file . +Multiple +.Fl X +options may be specified. +.It Fl x Ar pattern +Exclude files and subdirectories from comparison whose basenames match +.Ar pattern . +Patterns are matched using shell-style globbing as described in +.Xr glob 7 . +Multiple +.Fl x +options may be specified. +.El +.Pp +If both arguments are directories, +.Nm +sorts the contents of the directories by name, and then runs the +regular file +.Nm +algorithm, producing a change list, +on text files which are different. +Binary files which differ, +common subdirectories, and files which appear in only one directory +are described as such. +In directory mode only regular files and directories are compared. +If a non-regular file such as a device special file or FIFO +is encountered, a diagnostic message is printed. +.Pp +If only one of +.Ar file1 +and +.Ar file2 +is a directory, +.Nm +is applied to the non-directory file and the file contained in +the directory file with a filename that is the same as the +last component of the non-directory file. +.Pp +If either +.Ar file1 +or +.Ar file2 +is +.Sq - , +the standard input is +used in its place. +.Ss Output Style +The default (without +.Fl e , +.Fl c , +or +.Fl n +.\" -C +options) +output contains lines of these forms, where +.Va XX , YY , ZZ , QQ +are line numbers respective of file order. +.Pp +.Bl -tag -width "XX,YYcZZ,QQ" -compact +.It Li XX Ns Ic a Ns Li YY +At (the end of) line +.Va XX +of +.Ar file1 , +append the contents +of line +.Va YY +of +.Ar file2 +to make them equal. +.It Li XX Ns Ic a Ns Li YY,ZZ +Same as above, but append the range of lines, +.Va YY +through +.Va ZZ +of +.Ar file2 +to line +.Va XX +of file1. +.It Li XX Ns Ic d Ns Li YY +At line +.Va XX +delete +the line. +The value +.Va YY +tells to which line the change would bring +.Ar file1 +in line with +.Ar file2 . +.It Li XX,YY Ns Ic d Ns Li ZZ +Delete the range of lines +.Va XX +through +.Va YY +in +.Ar file1 . +.It Li XX Ns Ic c Ns Li YY +Change the line +.Va XX +in +.Ar file1 +to the line +.Va YY +in +.Ar file2 . +.It Li XX,YY Ns Ic c Ns Li ZZ +Replace the range of specified lines with the line +.Va ZZ . +.It Li XX,YY Ns Ic c Ns Li ZZ,QQ +Replace the range +.Va XX , Ns Va YY +from +.Ar file1 +with the range +.Va ZZ , Ns Va QQ +from +.Ar file2 . +.El +.Pp +These lines resemble +.Xr ed 1 +subcommands to convert +.Ar file1 +into +.Ar file2 . +The line numbers before the action letters pertain to +.Ar file1 ; +those after pertain to +.Ar file2 . +Thus, by exchanging +.Ic a +for +.Ic d +and reading the line in reverse order, one can also +determine how to convert +.Ar file2 +into +.Ar file1 . +As in +.Xr ed 1 , +identical +pairs (where num1 = num2) are abbreviated as a single +number. +.Sh FILES +.Bl -tag -width /tmp/diff.XXXXXXXX -compact +.It Pa /tmp/diff. Ns Ar XXXXXXXX +Temporary file used when comparing a device or the standard input. +Note that the temporary file is unlinked as soon as it is created +so it will not show up in a directory listing. +.El +.Sh EXIT STATUS +The +.Nm +utility exits with one of the following values: +.Pp +.Bl -tag -width Ds -offset indent -compact +.It 0 +No differences were found. +.It 1 +Differences were found. +.It >1 +An error occurred. +.El +.Sh SEE ALSO +.Xr cmp 1 , +.Xr comm 1 , +.Xr diff3 1 , +.Xr ed 1 , +.Xr patch 1 , +.Xr sdiff 1 +.Rs +.%A James W. Hunt +.%A M. Douglas McIlroy +.%T "An Algorithm for Differential File Comparison" +.%I AT&T Bell Laboratories +.%J Computing Science Technical Report +.%N 41 +.%D June 1976 +.Re +.Sh STANDARDS +The +.Nm +utility is compliant with the +.St -p1003.1-2008 +specification. +.Pp +The flags +.Op Fl aDdIiLNnPpqSsTtwXx +are extensions to that specification. +.Sh HISTORY +A +.Nm +command appeared in +.At v5 . diff --git a/static/openbsd/man1/diff3.1 b/static/openbsd/man1/diff3.1 new file mode 100644 index 00000000..5b82960b --- /dev/null +++ b/static/openbsd/man1/diff3.1 @@ -0,0 +1,201 @@ +.\" $OpenBSD: diff3.1,v 1.7 2007/05/31 19:20:09 jmc Exp $ +.\" +.\" Copyright (c) 1990, 1993, 1994 +.\" 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. 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. +.\" +.\" @(#)diff3.1 8.2 (Berkeley) 4/18/94 +.\" +.Dd $Mdocdate: May 31 2007 $ +.Dt DIFF3 1 +.Os +.Sh NAME +.Nm diff3 +.Nd 3-way differential file comparison +.Sh SYNOPSIS +.Nm diff3 +.Op Fl 3aEeXx +.Ar file1 file2 file3 +.Sh DESCRIPTION +The +.Nm +utility compares the contents of three different versions of a file, +.Ar file1 , +.Ar file2 +and +.Ar file3 , +writing the result to the standard output. +The options describe different methods of merging and +purging +the separate versions into a new file. +.Nm +is used by +.Xr rcs 1 +to merge specific versions or create +new versions. +.Pp +The options are as follows: +.Bl -tag -width "-E, -X" +.It Fl 3 +Produces an output script suitable for +.Xr ed 1 +with changes +specific only to +.Ar file3 . +.It Fl a +Treat all files as ASCII. +.It Fl E , X +Similar to +.Fl e +and +.Fl x , +respectively, but treat overlapping changes (i.e., changes that would +be noted with ==== in the normal listing) differently. +The overlapping lines from both files will be inserted by the edit script, +bracketed by "<<<<<<" and ">>>>>>" lines. +.It Fl e +Produces output in a form suitable as an input script for the +.Xr ed 1 +utility. +The script may then be used to merge differences common between all +three files and differences specific to +.Ar file1 +and +.Ar file3 . +In other words, the +.Fl e +option ignores differences specific to +.Ar file1 +and +.Ar file2 , +and those specific to +.Ar file2 +and +.Ar file3 . +It is useful for backing out changes specific to +.Ar file2 +only. +.It Fl x +Produces an output script suitable for +.Xr ed 1 +with changes +specific only to all three versions. +.El +.Pp +The +.Fl E +option is used by +.Tn RCS +.Xr merge 1 +to ensure that overlapping changes in the merged files are preserved +and brought to someone's attention. +.Pp +For example, suppose lines 7-8 are changed in both +.Ar file1 +and +.Ar file2 . +Applying the edit script generated by the command +.Pp +.Dl $ diff3 -E file1 file2 file3 +.Pp +to +.Ar file1 +results in the file: +.Bd -literal -offset indent +lines 1-6 +of file1 +<<<<<<< file1 +lines 7-8 +of file1 +======= +lines 7-8 +of file3 +>>>>>>> file3 +rest of file1 +.Ed +.Pp +The default output of +.Nm +makes notation of the differences between all files, and those +differences specific to each pair of files. +The changes are described by the commands necessary for +.Xr ed 1 +to create the desired target from the different versions. +See +.Xr diff 1 +for a description of the commands. +.Bl -tag -width "=====" +.It Li \&==== +The lines beneath this notation are ranges of lines which are different +between all files. +.It \&==== Ns Va n +The lines beneath this notation are ranges of lines which are exclusively +different in file +.Va n . +.El +.Sh ENVIRONMENT +.Bl -tag -width TMPDIR +.It Ev TMPDIR +If the environment variable +.Ev TMPDIR +exists, +.Nm +will use the directory specified by +.Ev TMPDIR +as the temporary directory. +.El +.Sh FILES +.Bl -tag -width /usr/libexec/diff3prog -compact +.It Pa /tmp/d3a.XXXXXXXXXX +temporary file +.It Pa /tmp/d3b.XXXXXXXXXX +temporary file +.It Pa /usr/libexec/diff3prog +the actual executable +.El +.Sh SEE ALSO +.Xr diff 1 , +.Xr ed 1 , +.Xr merge 1 , +.Xr rcs 1 , +.Xr sdiff 1 +.Sh HISTORY +A +.Nm +command appeared in +.At v7 . +.Sh BUGS +The +.Fl e +option cannot catch and change lines which have +.Ql \&. +as the first and only character on the line. +The resulting script will fail on that line +as +.Ql \&. +is an +.Xr ed 1 +editing command. diff --git a/static/openbsd/man1/dig.1 b/static/openbsd/man1/dig.1 new file mode 100644 index 00000000..b08ad816 --- /dev/null +++ b/static/openbsd/man1/dig.1 @@ -0,0 +1,887 @@ +.\" $OpenBSD: dig.1,v 1.8 2024/12/27 09:04:48 florian Exp $ +.\" +.\" Copyright (C) 2000-2011, 2013-2018 Internet Systems Consortium, Inc. ("ISC") +.\" +.\" Permission to use, copy, modify, and/or distribute this software for any +.\" purpose with or without fee is hereby granted, provided that the above +.\" copyright notice and this permission notice appear in all copies. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH +.\" REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +.\" AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, +.\" INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +.\" LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +.\" PERFORMANCE OF THIS SOFTWARE. +.\" +.Dd $Mdocdate: December 27 2024 $ +.Dt DIG 1 +.Os +.Sh NAME +.Nm dig +.Nd DNS lookup utility +.Sh SYNOPSIS +.Nm +.Op Pf @ Ar server +.Op Fl 46hiuv +.Op Fl b Ar sourceaddr Ns Op Pf # Ar port +.Op Fl c Ar class +.Op Fl f Ar file +.Op Fl k Ar keyfile +.Op Fl p Ar port +.Op Fl q Ar name +.Op Fl t Ar type +.Op Fl x Ar addr +.Op Fl y Oo Ar hmac : Oc Ns Ar name : Ns Ar key +.Op Ar name +.Op Ar type +.Op Ar class +.Op Pf + Ar queryopt ... +.Sh DESCRIPTION +The +.Nm +command is a flexible tool for interrogating DNS name servers. +It performs DNS lookups and displays the answers that are returned from the name +servers that were queried. +Although +.Nm +is normally used with command line arguments, it also has a batch mode of +operation for reading lookup requests from a file. +When no command line arguments or options are given, +.Nm +will perform an NS query for '.' (the root). +.Pp +A typical invocation of +.Nm +looks like: +.Pp +.Dl dig @server [options] name type [class] [+queryopt] +.Bl -tag -width +queryopt +.It Pf @ Ar server +The name or IP address of the name server to query. +When the argument is a hostname, +.Nm +resolves that name before querying that name server. +If no +.Ar server +argument is provided, +.Nm +will try each of the servers listed in +.Xr resolv.conf 5 . +If no usable addresses are found, +.Nm +will send the query to the local host. +The reply from the name server that responds is displayed. +.It Ar name +The name of the resource record that is to be looked up. +.It Ar type +The type of query, as documented for +.Fl t . +The default is +.Cm A . +.It Ar class +The query class, as documented for +.Fl c . +The default is +.Cm IN . +.It Pf + Ar queryopt +One or more query options, +as documented in +.Sx QUERY OPTIONS , +below. +.El +.Pp +The options are as follows: +.Bl -tag -width Ds +.It Fl 4 +Use IPv4 only. +.It Fl 6 +Use IPv6 only. +.It Fl b Ar sourceaddr Ns Op Pf # Ar port +Set the source IP address of the query, which is useful on machines +with multiple interfaces. +The +.Ar sourceaddr +must be a valid address on one of the host's network interfaces, or +"0.0.0.0" or "::". +An optional port may be specified by appending "#". +.It Fl c Ar class +Set the query class. +The default is +.Cm IN ; +other classes are +.Cm HS +for Hesiod records and +.Cm CH +for Chaosnet records. +.It Fl f Ar file +Batch mode: +.Nm +reads a list of lookup requests to process from the given +.Ar file . +Each line in the file should be organized in the same way they would be +presented as queries to +.Nm +using the command-line interface. +.It Fl h +Display a brief summary of command line arguments and options. +.It Fl i +Do reverse IPv6 lookups using the obsolete RFC 1886 IP6.INT domain, which is no +longer in use. +Obsolete bit string label queries (RFC 2874) are not attempted. +.It Fl k Ar keyfile +Sign queries using TSIG. +The format of the +.Ar keyfile +is as follows: +.Bd -literal -offset indent +key "keyname" { + algorithm hmac; + secret "base64-secret"; +}; +.Ed +.Pp +.Ar keyname +is the name of the key, and +.Ar base64-secret +is the base64-encoded shared secret. +.Ar hmac +is the name of the key algorithm; +valid choices are +.Cm hmac-sha1 , +.Cm hmac-sha224 , +.Cm hmac-sha256 , +.Cm hmac-sha384 , +and +.Cm hmac-sha512 . +.It Fl p Ar port +Send the query to a non-standard port on the server, instead of the default port +53. +This option would be used to test a name server that has been configured to +listen for queries on a non-standard port number. +.It Fl q Ar name +The domain name to query. +This is useful to distinguish the +.Ar name +from other arguments. +.It Fl t Ar type +The resource record type to query. +It can be any valid query type. +If it is a resource record type supported in BIND 9, it can be given by the +type mnemonic (such as +.Cm NS +or +.Cm AAAA ) . +The default query type is +.Cm A , +unless the +.Fl x +option is supplied to indicate a reverse lookup. +A zone transfer can be requested by specifying a type of +.Cm AXFR . +When an incremental zone transfer is required, set the +.Ar type +to +.Cm IXFR Ns = Ns Ar N . +The incremental zone transfer will contain the changes made to the zone since +the serial number in the zone's SOA record was +.Ar N . +.Pp +All resource record types can be expressed as +.Cm TYPE Ns Ar nn , +where +.Ar nn +is the number of the type. +If the resource record type is not supported in BIND 9, the result will be +displayed as described in RFC 3597. +.It Fl u +Print query times in microseconds instead of milliseconds. +.It Fl v +Print the version number and exit. +.It Fl x Ar addr +Simplified reverse lookups, for mapping addresses to names. +The +.Ar addr +is an IPv4 address in dotted-decimal notation, or a colon-delimited IPv6 +address. +When the +.Fl x +is used, there is no need to provide the +.Ar name , +.Ar class +and +.Ar type +arguments. +.Nm +automatically performs a lookup for a name like +.Ql 94.2.0.192.in-addr.arpa +and sets the query type and class to +.Cm PTR +and +.Cm IN +respectively. +IPv6 addresses are looked up using nibble format under the IP6.ARPA domain +(but see also the +.Fl i +option). +.It Fl y Xo +.Op Ar hmac : Ns +.Ar keyname : Ns +.Ar secret +.Xc +Sign queries using TSIG with the given authentication key. +.Ar keyname +is the name of the key, and +.Ar secret +is the base64 encoded shared secret. +.Ar hmac +is the name of the key algorithm; +valid choices are +.Cm hmac-sha1 , +.Cm hmac-sha224 , +.Cm hmac-sha256 , +.Cm hmac-sha384 , +and +.Cm hmac-sha512 . +If +.Ar hmac +is not specified, the default is +.Cm hmac-sha256 . +.Pp +NOTE: You should use the +.Fl k +option and +avoid the +.Fl y +option, because +with +.Fl y +the shared secret is supplied as a command line argument in clear text. +This may be visible in the output from +.Xr ps 1 +or in a history file maintained by the user's shell. +.El +.Pp +The +.Cm IN +and +.Cm CH +class names overlap with the IN and CH top level domain names. +Either use the +.Fl t +and +.Fl c +options to specify the type and class, use the +.Fl q +to specify the domain name, or use "IN." and "CH." when looking up these top +level domains. +.Sh QUERY OPTIONS +.Nm +provides a number of query options which affect the way in which lookups are +made and the results displayed. +Some of +these set or reset flag bits in the query header, some determine which sections +of the answer get printed, and others determine the timeout and retry +strategies. +.Pp +Each query option is identified by a keyword preceded by a plus sign +.Pq Cm + . +Some keywords set or reset an option. +These may be preceded by the string +.Cm no +to negate the meaning of that keyword. +Other keywords assign values to options like the timeout interval. +They have the form +.Cm + Ns Ar keyword Ns = Ns Ar value . +Keywords may be abbreviated, provided the abbreviation is unambiguous; for +example, +.Cm +cd +is equivalent +to +.Cm +cdflag . +The query options are: +.Bl -tag -width Ds +.It Xo +.Cm + Ns +.Op Cm no Ns +.Cm aaflag +.Xc +A synonym for +.Cm + Ns +.Op Cm no Ns +.Cm aaonly . +.It Xo +.Cm + Ns +.Op Cm no Ns +.Cm aaonly +.Xc +Set the "aa" flag in the query (off by default). +.It Xo +.Cm + Ns +.Op Cm no Ns +.Cm additional +.Xc +Display the additional section of a reply (on by default). +.It Xo +.Cm + Ns +.Op Cm no Ns +.Cm adflag +.Xc +Set the AD (authentic data) bit in the query (on by default). +This requests the server to return whether all of the answer and authority +sections have all been validated as secure according to the security policy of +the server. +AD=1 indicates that all records have been validated as secure and the answer is +not from an OPT-OUT range. +AD=0 indicates that some part of the answer was insecure or not validated. +.It Xo +.Cm + Ns +.Op Cm no Ns +.Cm all +.Xc +Set or clear all display flags. +.It Xo +.Cm + Ns +.Op Cm no Ns +.Cm answer +.Xc +Display the answer section of a reply (on by default). +.It Xo +.Cm + Ns +.Op Cm no Ns +.Cm authority +.Xc +Display the authority section of a reply (on by default). +.It Xo +.Cm + Ns +.Op Cm no Ns +.Cm besteffort +.Xc +Attempt to display the contents of messages which are malformed (on by +default). +.It Cm +bufsize Ns = Ns Ar # +Set the UDP message buffer size advertised using EDNS0 to +.Ar # +bytes. +The maximum and minimum sizes of this buffer are 65535 and 0 respectively. +Values outside this range are rounded up or down appropriately. +Values other than zero will cause an EDNS query to be sent. +.It Xo +.Cm + Ns +.Op Cm no Ns +.Cm cdflag +.Xc +Set the CD (checking disabled) bit in the query (off by default). +This requests the server to not perform DNSSEC validation of responses. +.It Xo +.Cm + Ns +.Op Cm no Ns +.Cm class +.Xc +Display the CLASS when printing the record (on by default). +.It Xo +.Cm + Ns +.Op Cm no Ns +.Cm cmd +.Xc +Print an initial comment identifying the version of +.Nm +and the query options that have been applied (on by default). +.It Xo +.Cm + Ns +.Op Cm no Ns +.Cm comments +.Xc +Display comment lines in the output (on by default). +.It Xo +.Cm + Ns +.Op Cm no Ns +.Cm cookie Ns +.Op = Ns Ar value +.Xc +Send a COOKIE EDNS option, containing an optional +.Ar value +(off by default). +Replaying a COOKIE from a previous response will allow the server to +identify a previous client. +.Pp +.Cm +cookie +is automatically set when +.Cm +trace +is in use, to better emulate the default queries from a name server. +.Pp +This option was formerly called +.Cm + Ns +.Op Cm no Ns +.Cm sit +(Server Identity Token). +In BIND 9.10.0 through BIND 9.10.2, +it sent the experimental option code 65001. +This was changed to option code 10 in BIND 9.10.3 when the DNS +COOKIE option was allocated. +.Pp +The +.Cm + Ns +.Op Cm no Ns +.Cm sit +option is now deprecated, but has been retained as a synonym for +.Cm + Ns +.Op Cm no Ns +.Cm cookie +for backward compatibility within the BIND 9.10 branch. +.It Xo +.Cm + Ns +.Op Cm no Ns +.Cm crypto +.Xc +Display cryptographic fields in DNSSEC records (on by default). +The contents of these field are unnecessary to debug most DNSSEC validation +failures and removing them makes it easier to see the common failures. +When omitted they are replaced by the string "[omitted]" or in the DNSKEY case +the key id is displayed as the replacement, e.g. "[ key id = value ]". +.It Xo +.Cm + Ns +.Op Cm no Ns +.Cm defname +.Xc +Deprecated, treated as a synonym for +.Cm + Ns +.Op Cm no Ns +.Cm search . +.It Xo +.Cm + Ns +.Op Cm no Ns +.Cm dnssec +.Xc +Request DNSSEC records be sent by setting the DNSSEC OK bit (DO) in the OPT +record in the additional section of the query (off by default). +.It Cm +domain Ns = Ns Ar name +Set the search list to contain the single domain +.Ar name , +as if specified in a +.Ic domain +directive in +.Xr resolv.conf 5 , +and enable search list processing as if the +.Cm +search +option were given (off by default). +.It Xo +.Cm + Ns +.Op Cm no Ns +.Cm edns Ns +.Op = Ns Ar # +.Xc +Use EDNS in the query (on by default). +A version may also be specified, from 0 (the default) to 255. +.Cm +noedns +disables EDNS and clears the remembered version. +.It Cm +ednsflags Ns Op = Ns Ar # +Set the must-be-zero EDNS flags bits (Z bits) +to the specified value (0 by default). +Decimal, hex and octal encodings are accepted. +Setting a named flag (e.g. DO) will silently be ignored. +.It Xo +.Cm + Ns +.Op Cm no Ns +.Cm ednsnegotiation +.Xc +Enable EDNS version negotiation (off by default). +.It Xo +.Cm + Ns +.Op Cm no Ns +.Cm ednsopt Ns +.Op = Ns Ar code Ns Op : Ns Ar value +.Xc +Specify EDNS option with code point +.Ar code +and optionally payload of +.Ar value +as a hexadecimal string. +.Ar code +can be +either an EDNS option name (for example, +.Cm NSID +or +.Cm ECS ) , +or an arbitrary numeric value. +.Cm +noednsopt +clears the EDNS options to be sent. +.It Xo +.Cm + Ns +.Op Cm no Ns +.Cm expire +.Xc +Send an EDNS Expire option (off by default). +.It Xo +.Cm + Ns +.Op Cm no Ns +.Cm fail +.Xc +Do not try the next server if you receive a SERVFAIL. +This option is on by default, +which is the reverse of normal stub resolver behavior. +.It Xo +.Cm + Ns +.Op Cm no Ns +.Cm identify +.Xc +Show the IP address and port number that supplied the answer (off by default). +This option has no effect unless the +.Cm +short +option is enabled. +.It Xo +.Cm + Ns +.Op Cm no Ns +.Cm idnout +.Xc +Convert puny code on output. +This version of +.Nm +does not support IDN. +.It Xo +.Cm + Ns +.Op Cm no Ns +.Cm ignore +.Xc +Ignore truncation in UDP responses. +This option is off by default, which means truncated responses +cause retrying with TCP. +.It Xo +.Cm + Ns +.Op Cm no Ns +.Cm keepopen +.Xc +Keep the TCP socket open between queries and reuse it. +This option is off by default, which means that a new TCP socket +is created for each lookup. +.It Xo +.Cm + Ns +.Op Cm no Ns +.Cm multiline +.Xc +Print records like the SOA records in a verbose multi-line format with +human-readable comments. +This option is off by default, which means that each record is +printed on a single line to facilitate machine parsing of the +.Nm +output. +.It Cm +ndots Ns = Ns Ar # +Set the number of dots that have to appear in +.Ar name +to +.Ar # +for it to be considered absolute. +The default value is that defined using the ndots statement in +.Xr resolv.conf 5 , +or 1 if no ndots statement is present. +Names with fewer dots are interpreted as relative names and will be searched +for in the domains listed in the +.Cm search +or +.Cm domain +directive in +.Xr resolv.conf 5 +if +.Cm +search +is set. +.It Xo +.Cm + Ns +.Op Cm no Ns +.Cm nsid +.Xc +Include an EDNS name server ID request when sending a query (off by default). +.It Xo +.Cm + Ns +.Op Cm no Ns +.Cm nssearch +.Xc +Attempt to find the authoritative name servers for the zone +containing the name being looked up and display the SOA record +that each name server has for the zone (off by default). +.It Xo +.Cm + Ns +.Op Cm no Ns +.Cm onesoa +.Xc +Print only one (starting) SOA record when performing an +.Cm AXFR . +This option is off by default, which means that both the starting +and the ending SOA records are printed. +.It Xo +.Cm + Ns +.Op Cm no Ns +.Cm opcode Ns = Ns +.Ar # +.Xc +Set or restore the DNS message opcode to the specified value, +which can be +.Cm QUERY Pq the default , +.Cm IQUERY , +.Cm STATUS , +.Cm NOTIFY , +.Cm UPDATE , +or an integer number in the range from 0 to 15. +.It Xo +.Cm + Ns +.Op Cm no Ns +.Cm qr +.Xc +Print the query as it is sent (off by default). +.It Xo +.Cm + Ns +.Op Cm no Ns +.Cm question +.Xc +Print the question section of a query as a comment when an answer +is returned (on by default). +.It Xo +.Cm + Ns +.Op Cm no Ns +.Cm rdflag +.Xc +A synonym for +.Cm + Ns +.Op Cm no Ns +.Cm recurse . +.It Xo +.Cm + Ns +.Op Cm no Ns +.Cm recurse +.Xc +Set the RD (recursion desired) bit in the query (on by default). +Recursion is automatically disabled when the +.Cm +nssearch +or +.Cm +trace +query options are used. +.It Cm +retry Ns = Ns Ar # +Set the number of times to retry UDP queries to server to +.Ar # . +The default is 2. +Unlike +.Cm +tries , +this does not include the initial query. +.It Xo +.Cm + Ns +.Op Cm no Ns +.Cm rrcomments +.Xc +Display per-record comments in the output (for example, +human-readable key information about DNSKEY records). +The default is +.Cm +rrcomments +if +.Cm +multiline +mode is active or +.Cm +norrcomments +otherwise. +.It Xo +.Cm + Ns +.Op Cm no Ns +.Cm search +.Xc +Use the search list defined by the searchlist or domain directive in +.Xr resolv.conf 5 , +if any (off by default). +\&'ndots' from +.Xr resolv.conf 5 +(default 1), which may be overridden by +.Cm +ndots , +determines if the name will be treated as relative or not and hence whether a +search is eventually performed or not. +.It Xo +.Cm + Ns +.Op Cm no Ns +.Cm short +.Xc +Provide a terse answer (off by default). +.It Xo +.Cm + Ns +.Op Cm no Ns +.Cm showsearch +.Xc +Perform a search showing intermediate results (off by default). +.It Xo +.Cm + Ns +.Op Cm no Ns +.Cm split Ns = Ns Ar # +.Xc +Split long hex- or base64-formatted fields in resource records into chunks of +.Ar # +characters (where +.Ar # +is rounded up to the nearest multiple of 4). +.Cm +nosplit +or +.Cm +split Ns =0 +causes fields not to be split at all. +The default is 56 characters, or 44 characters when +.Cm +multiline +mode is active. +.It Xo +.Cm + Ns +.Op Cm no Ns +.Cm stats +.Xc +Print statistics: +when the query was made, the size of the reply and so on (on by default). +.It Xo +.Cm + Ns +.Op Cm no Ns +.Cm subnet Ns = Ns +.Ar addr Ns +.Op / Ns Ar prefix +.Xc +Send an EDNS Client Subnet option with the specified IP address or +network prefix (off by default). +.Pp +.Nm +.Cm +subnet Ns =0.0.0.0/0, +or simply +.Nm +.Cm +subnet Ns =0 +for short, sends an EDNS CLIENT-SUBNET option with an empty address and a +source prefix-length of zero, which signals a resolver that the client's address +information must +.Em not +be used when resolving this query. +.It Xo +.Cm + Ns +.Op Cm no Ns +.Cm tcp +.Xc +Use TCP when querying name servers (off by default). +.Cm IXFR Ns = Ns Ar N +queries use TCP unless it is explicitly disabled with +.Cm +notcp . +.Cm AXFR +queries always use TCP. +.It Cm +timeout Ns = Ns Ar # +Set the timeout for a query to +.Ar # +seconds. +The default is 5 seconds for UDP and 10 seconds for TCP. +An attempt to set +.Ar # +to less than 1 will result in a query timeout of 1 second being applied. +.It Xo +.Cm + Ns +.Op Cm no Ns +.Cm trace +.Xc +Trace the delegation path from the root name servers for the name +being looked up (off by default). +.Pp +When tracing is enabled, +.Nm +makes iterative queries to resolve the name being looked up. +It will follow referrals from the root servers, showing the answer from each +server that was used to resolve the lookup. +.Pp +If @server is also specified, it affects only the initial query for the root +zone name servers. +.Pp +.Cm +dnssec +is also set when +.Cm +trace +is set to better emulate the default queries from a name server. +.It Cm +tries Ns = Ns Ar # +Set the number of times to try UDP queries to server to +.Ar # . +The default is 3. +If +.Ar # +is less than or equal to zero, the number of tries is silently rounded up to 1. +.It Xo +.Cm + Ns +.Op Cm no Ns +.Cm ttlid +.Xc +Display the TTL when printing the record (on by default). +.It Xo +.Cm + Ns +.Op Cm no Ns +.Cm vc +.Xc +Use TCP when querying name servers. +This alternate syntax to +.Cm + Ns +.Op Cm no Ns +.Cm tcp +is provided for backwards compatibility. +The "vc" stands for "virtual circuit". +.It Xo +.Cm + Ns +.Op Cm no Ns +.Cm zoneversion +.Xc +Include an EDNS zone version request when sending a query (off by default). +.El +.Sh MULTIPLE QUERIES +The BIND 9 implementation of +.Nm +supports specifying multiple queries on the command line (in addition to +supporting the +.Fl f +batch file option). +Each of those queries can be supplied with its own set of flags, options and +query options. +.Pp +In this case, each +.Ar query +argument represent an individual query in the command-line syntax described +above. +Each consists of any of the standard options and flags, the name to be looked +up, an optional query type and class and any query options that should be +applied to that query. +.Pp +A global set of query options, which should be applied to all queries, can +also be supplied. +These global query options must precede the first tuple of name, class, type, +options, flags, and query options supplied on the command line. +Any global query options (except the +.Cm + Ns +.Op Cm no Ns +.Cm cmd +option) can be overridden by a query-specific set of query options. +For example: +.Bd -literal -offset indent +dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr +.Ed +.Pp +shows how +.Nm +could be used from the command line to make three lookups: an ANY query for +www.isc.org, a reverse lookup of 127.0.0.1 and a query for the NS records of +isc.org. +A global query option of +.Cm +qr +is applied, so that +.Nm +shows the initial query it made for each lookup. +The final query has a local query option of +.Cm +noqr +which means that +.Nm +will not print the initial query when it looks up the NS records for +isc.org. +.Sh FILES +.Bl -tag -width Ds +.It Pa /etc/resolv.conf +Resolver configuration file. +.El +.Sh SEE ALSO +.Xr host 1 , +.Xr resolv.conf 5 +.Sh STANDARDS +.Rs +.%A P. Mockapetris +.%D November 1987 +.%R RFC 1035 +.%T Domain Names - Implementation and Specification +.Re +.Sh AUTHORS +.An -nosplit +.An Internet Systems Consortium, Inc . +.Sh BUGS +There are probably too many query options. diff --git a/static/openbsd/man1/dirname.1 b/static/openbsd/man1/dirname.1 new file mode 100644 index 00000000..00800c88 --- /dev/null +++ b/static/openbsd/man1/dirname.1 @@ -0,0 +1,94 @@ +.\" $OpenBSD: dirname.1,v 1.9 2014/02/16 23:09:48 schwarze Exp $ +.\" +.\" Copyright (c) 1990, 1993, 1994 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" the Institute of Electrical and Electronics Engineers, Inc. +.\" +.\" 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. 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. +.\" +.\" @(#)dirname.1 8.2 (Berkeley) 4/18/94 +.\" +.Dd $Mdocdate: February 16 2014 $ +.Dt DIRNAME 1 +.Os +.Sh NAME +.Nm dirname +.Nd return directory portion of pathname +.Sh SYNOPSIS +.Nm dirname +.Ar pathname +.Sh DESCRIPTION +.Nm +deletes the filename portion, beginning +with the last slash +.Pq Sq \&/ +character to the end of +.Ar pathname , +and writes the result to the standard output. +.Sh EXIT STATUS +.Ex -std dirname +.Sh EXAMPLES +The following line sets the shell variable +.Ev FOO +to +.Pa /usr/bin : +.Pp +.Dl FOO=`dirname /usr/bin/tail` +.Sh SEE ALSO +.Xr basename 1 , +.Xr csh 1 , +.Xr sh 1 , +.Xr dirname 3 +.Sh STANDARDS +The +.Nm +utility is compliant with the +.St -p1003.1-2008 +specification. +.Sh HISTORY +The +.Nm +utility first appeared as an +.Xr expr 1 +script in +.At III . +It was reimplemented in C for +.Bx 4.3 Reno +and reimplemented again using +.Xr dirname 3 +for +.Ox 2.2 . +.Sh AUTHORS +.An -nosplit +The original +.Bx +version was written by +.An Keith Bostic . +The current +.Ox +version was written by +.An Todd Miller Aq Mt millert@openbsd.org . diff --git a/static/openbsd/man1/dlltool.1 b/static/openbsd/man1/dlltool.1 new file mode 100644 index 00000000..c1e4642f --- /dev/null +++ b/static/openbsd/man1/dlltool.1 @@ -0,0 +1,447 @@ +.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14 +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sh \" Subsection heading +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. | will give a +.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to +.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' +.\" expand to `' in nroff, nothing in troff, for use with C<>. +.tr \(*W-|\(bv\*(Tr +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.if \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.\" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.hy 0 +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "DLLTOOL 1" +.TH DLLTOOL 1 "2004-04-09" "binutils-2.14.91" "GNU Development Tools" +.SH "NAME" +dlltool \- Create files needed to build and use DLLs. +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +dlltool [\fB\-d\fR|\fB\-\-input\-def\fR \fIdef-file-name\fR] + [\fB\-b\fR|\fB\-\-base\-file\fR \fIbase-file-name\fR] + [\fB\-e\fR|\fB\-\-output\-exp\fR \fIexports-file-name\fR] + [\fB\-z\fR|\fB\-\-output\-def\fR \fIdef-file-name\fR] + [\fB\-l\fR|\fB\-\-output\-lib\fR \fIlibrary-file-name\fR] + [\fB\-\-export\-all\-symbols\fR] [\fB\-\-no\-export\-all\-symbols\fR] + [\fB\-\-exclude\-symbols\fR \fIlist\fR] + [\fB\-\-no\-default\-excludes\fR] + [\fB\-S\fR|\fB\-\-as\fR \fIpath-to-assembler\fR] [\fB\-f\fR|\fB\-\-as\-flags\fR \fIoptions\fR] + [\fB\-D\fR|\fB\-\-dllname\fR \fIname\fR] [\fB\-m\fR|\fB\-\-machine\fR \fImachine\fR] + [\fB\-a\fR|\fB\-\-add\-indirect\fR] [\fB\-U\fR|\fB\-\-add\-underscore\fR] [\fB\-k\fR|\fB\-\-kill\-at\fR] + [\fB\-A\fR|\fB\-\-add\-stdcall\-alias\fR] + [\fB\-x\fR|\fB\-\-no\-idata4\fR] [\fB\-c\fR|\fB\-\-no\-idata5\fR] [\fB\-i\fR|\fB\-\-interwork\fR] + [\fB\-n\fR|\fB\-\-nodelete\fR] [\fB\-t\fR|\fB\-\-temp\-prefix\fR \fIprefix\fR] + [\fB\-v\fR|\fB\-\-verbose\fR] + [\fB\-h\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR] + [object\-file ...] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +\&\fBdlltool\fR reads its inputs, which can come from the \fB\-d\fR and +\&\fB\-b\fR options as well as object files specified on the command +line. It then processes these inputs and if the \fB\-e\fR option has +been specified it creates a exports file. If the \fB\-l\fR option +has been specified it creates a library file and if the \fB\-z\fR option +has been specified it creates a def file. Any or all of the \fB\-e\fR, +\&\fB\-l\fR and \fB\-z\fR options can be present in one invocation of +dlltool. +.PP +When creating a \s-1DLL\s0, along with the source for the \s-1DLL\s0, it is necessary +to have three other files. \fBdlltool\fR can help with the creation of +these files. +.PP +The first file is a \fB.def\fR file which specifies which functions are +exported from the \s-1DLL\s0, which functions the \s-1DLL\s0 imports, and so on. This +is a text file and can be created by hand, or \fBdlltool\fR can be used +to create it using the \fB\-z\fR option. In this case \fBdlltool\fR +will scan the object files specified on its command line looking for +those functions which have been specially marked as being exported and +put entries for them in the .def file it creates. +.PP +In order to mark a function as being exported from a \s-1DLL\s0, it needs to +have an \fB\-export:\fR entry in the \fB.drectve\fR +section of the object file. This can be done in C by using the +\&\fIasm()\fR operator: +.PP +.Vb 2 +\& asm (".section .drectve"); +\& asm (".ascii \e"-export:my_func\e""); +.Ve +.PP +.Vb 1 +\& int my_func (void) { ... } +.Ve +.PP +The second file needed for \s-1DLL\s0 creation is an exports file. This file +is linked with the object files that make up the body of the \s-1DLL\s0 and it +handles the interface between the \s-1DLL\s0 and the outside world. This is a +binary file and it can be created by giving the \fB\-e\fR option to +\&\fBdlltool\fR when it is creating or reading in a .def file. +.PP +The third file needed for \s-1DLL\s0 creation is the library file that programs +will link with in order to access the functions in the \s-1DLL\s0. This file +can be created by giving the \fB\-l\fR option to dlltool when it +is creating or reading in a .def file. +.PP +\&\fBdlltool\fR builds the library file by hand, but it builds the +exports file by creating temporary files containing assembler statements +and then assembling these. The \fB\-S\fR command line option can be +used to specify the path to the assembler that dlltool will use, +and the \fB\-f\fR option can be used to pass specific flags to that +assembler. The \fB\-n\fR can be used to prevent dlltool from deleting +these temporary assembler files when it is done, and if \fB\-n\fR is +specified twice then this will prevent dlltool from deleting the +temporary object files it used to build the library. +.PP +Here is an example of creating a \s-1DLL\s0 from a source file \fBdll.c\fR and +also creating a program (from an object file called \fBprogram.o\fR) +that uses that \s-1DLL:\s0 +.PP +.Vb 4 +\& gcc -c dll.c +\& dlltool -e exports.o -l dll.lib dll.o +\& gcc dll.o exports.o -o dll.dll +\& gcc program.o dll.lib -o program +.Ve +.SH "OPTIONS" +.IX Header "OPTIONS" +The command line options have the following meanings: +.IP "\fB\-d\fR \fIfilename\fR" 4 +.IX Item "-d filename" +.PD 0 +.IP "\fB\-\-input\-def\fR \fIfilename\fR" 4 +.IX Item "--input-def filename" +.PD +Specifies the name of a .def file to be read in and processed. +.IP "\fB\-b\fR \fIfilename\fR" 4 +.IX Item "-b filename" +.PD 0 +.IP "\fB\-\-base\-file\fR \fIfilename\fR" 4 +.IX Item "--base-file filename" +.PD +Specifies the name of a base file to be read in and processed. The +contents of this file will be added to the relocation section in the +exports file generated by dlltool. +.IP "\fB\-e\fR \fIfilename\fR" 4 +.IX Item "-e filename" +.PD 0 +.IP "\fB\-\-output\-exp\fR \fIfilename\fR" 4 +.IX Item "--output-exp filename" +.PD +Specifies the name of the export file to be created by dlltool. +.IP "\fB\-z\fR \fIfilename\fR" 4 +.IX Item "-z filename" +.PD 0 +.IP "\fB\-\-output\-def\fR \fIfilename\fR" 4 +.IX Item "--output-def filename" +.PD +Specifies the name of the .def file to be created by dlltool. +.IP "\fB\-l\fR \fIfilename\fR" 4 +.IX Item "-l filename" +.PD 0 +.IP "\fB\-\-output\-lib\fR \fIfilename\fR" 4 +.IX Item "--output-lib filename" +.PD +Specifies the name of the library file to be created by dlltool. +.IP "\fB\-\-export\-all\-symbols\fR" 4 +.IX Item "--export-all-symbols" +Treat all global and weak defined symbols found in the input object +files as symbols to be exported. There is a small list of symbols which +are not exported by default; see the \fB\-\-no\-default\-excludes\fR +option. You may add to the list of symbols to not export by using the +\&\fB\-\-exclude\-symbols\fR option. +.IP "\fB\-\-no\-export\-all\-symbols\fR" 4 +.IX Item "--no-export-all-symbols" +Only export symbols explicitly listed in an input .def file or in +\&\fB.drectve\fR sections in the input object files. This is the default +behaviour. The \fB.drectve\fR sections are created by \fBdllexport\fR +attributes in the source code. +.IP "\fB\-\-exclude\-symbols\fR \fIlist\fR" 4 +.IX Item "--exclude-symbols list" +Do not export the symbols in \fIlist\fR. This is a list of symbol names +separated by comma or colon characters. The symbol names should not +contain a leading underscore. This is only meaningful when +\&\fB\-\-export\-all\-symbols\fR is used. +.IP "\fB\-\-no\-default\-excludes\fR" 4 +.IX Item "--no-default-excludes" +When \fB\-\-export\-all\-symbols\fR is used, it will by default avoid +exporting certain special symbols. The current list of symbols to avoid +exporting is \fBDllMain@12\fR, \fBDllEntryPoint@0\fR, +\&\fBimpure_ptr\fR. You may use the \fB\-\-no\-default\-excludes\fR option +to go ahead and export these special symbols. This is only meaningful +when \fB\-\-export\-all\-symbols\fR is used. +.IP "\fB\-S\fR \fIpath\fR" 4 +.IX Item "-S path" +.PD 0 +.IP "\fB\-\-as\fR \fIpath\fR" 4 +.IX Item "--as path" +.PD +Specifies the path, including the filename, of the assembler to be used +to create the exports file. +.IP "\fB\-f\fR \fIoptions\fR" 4 +.IX Item "-f options" +.PD 0 +.IP "\fB\-\-as\-flags\fR \fIoptions\fR" 4 +.IX Item "--as-flags options" +.PD +Specifies any specific command line options to be passed to the +assembler when building the exports file. This option will work even if +the \fB\-S\fR option is not used. This option only takes one argument, +and if it occurs more than once on the command line, then later +occurrences will override earlier occurrences. So if it is necessary to +pass multiple options to the assembler they should be enclosed in +double quotes. +.IP "\fB\-D\fR \fIname\fR" 4 +.IX Item "-D name" +.PD 0 +.IP "\fB\-\-dll\-name\fR \fIname\fR" 4 +.IX Item "--dll-name name" +.PD +Specifies the name to be stored in the .def file as the name of the \s-1DLL\s0 +when the \fB\-e\fR option is used. If this option is not present, then +the filename given to the \fB\-e\fR option will be used as the name of +the \s-1DLL\s0. +.IP "\fB\-m\fR \fImachine\fR" 4 +.IX Item "-m machine" +.PD 0 +.IP "\fB\-machine\fR \fImachine\fR" 4 +.IX Item "-machine machine" +.PD +Specifies the type of machine for which the library file should be +built. \fBdlltool\fR has a built in default type, depending upon how +it was created, but this option can be used to override that. This is +normally only useful when creating DLLs for an \s-1ARM\s0 processor, when the +contents of the \s-1DLL\s0 are actually encode using Thumb instructions. +.IP "\fB\-a\fR" 4 +.IX Item "-a" +.PD 0 +.IP "\fB\-\-add\-indirect\fR" 4 +.IX Item "--add-indirect" +.PD +Specifies that when \fBdlltool\fR is creating the exports file it +should add a section which allows the exported functions to be +referenced without using the import library. Whatever the hell that +means! +.IP "\fB\-U\fR" 4 +.IX Item "-U" +.PD 0 +.IP "\fB\-\-add\-underscore\fR" 4 +.IX Item "--add-underscore" +.PD +Specifies that when \fBdlltool\fR is creating the exports file it +should prepend an underscore to the names of the exported functions. +.IP "\fB\-k\fR" 4 +.IX Item "-k" +.PD 0 +.IP "\fB\-\-kill\-at\fR" 4 +.IX Item "--kill-at" +.PD +Specifies that when \fBdlltool\fR is creating the exports file it +should not append the string \fB@ \fR. These numbers are +called ordinal numbers and they represent another way of accessing the +function in a \s-1DLL\s0, other than by name. +.IP "\fB\-A\fR" 4 +.IX Item "-A" +.PD 0 +.IP "\fB\-\-add\-stdcall\-alias\fR" 4 +.IX Item "--add-stdcall-alias" +.PD +Specifies that when \fBdlltool\fR is creating the exports file it +should add aliases for stdcall symbols without \fB@ \fR +in addition to the symbols with \fB@ \fR. +.IP "\fB\-x\fR" 4 +.IX Item "-x" +.PD 0 +.IP "\fB\-\-no\-idata4\fR" 4 +.IX Item "--no-idata4" +.PD +Specifies that when \fBdlltool\fR is creating the exports and library +files it should omit the \f(CW\*(C`.idata4\*(C'\fR section. This is for compatibility +with certain operating systems. +.IP "\fB\-c\fR" 4 +.IX Item "-c" +.PD 0 +.IP "\fB\-\-no\-idata5\fR" 4 +.IX Item "--no-idata5" +.PD +Specifies that when \fBdlltool\fR is creating the exports and library +files it should omit the \f(CW\*(C`.idata5\*(C'\fR section. This is for compatibility +with certain operating systems. +.IP "\fB\-i\fR" 4 +.IX Item "-i" +.PD 0 +.IP "\fB\-\-interwork\fR" 4 +.IX Item "--interwork" +.PD +Specifies that \fBdlltool\fR should mark the objects in the library +file and exports file that it produces as supporting interworking +between \s-1ARM\s0 and Thumb code. +.IP "\fB\-n\fR" 4 +.IX Item "-n" +.PD 0 +.IP "\fB\-\-nodelete\fR" 4 +.IX Item "--nodelete" +.PD +Makes \fBdlltool\fR preserve the temporary assembler files it used to +create the exports file. If this option is repeated then dlltool will +also preserve the temporary object files it uses to create the library +file. +.IP "\fB\-t\fR \fIprefix\fR" 4 +.IX Item "-t prefix" +.PD 0 +.IP "\fB\-\-temp\-prefix\fR \fIprefix\fR" 4 +.IX Item "--temp-prefix prefix" +.PD +Makes \fBdlltool\fR use \fIprefix\fR when constructing the names of +temporary assembler and object files. By default, the temp file prefix +is generated from the pid. +.IP "\fB\-v\fR" 4 +.IX Item "-v" +.PD 0 +.IP "\fB\-\-verbose\fR" 4 +.IX Item "--verbose" +.PD +Make dlltool describe what it is doing. +.IP "\fB\-h\fR" 4 +.IX Item "-h" +.PD 0 +.IP "\fB\-\-help\fR" 4 +.IX Item "--help" +.PD +Displays a list of command line options and then exits. +.IP "\fB\-V\fR" 4 +.IX Item "-V" +.PD 0 +.IP "\fB\-\-version\fR" 4 +.IX Item "--version" +.PD +Displays dlltool's version number and then exits. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +the Info entries for \fIbinutils\fR. +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright (c) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, +2001, 2002, 2003 Free Software Foundation, Inc. +.PP +Permission is granted to copy, distribute and/or modify this document +under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.1 +or any later version published by the Free Software Foundation; +with no Invariant Sections, with no Front-Cover Texts, and with no +Back-Cover Texts. A copy of the license is included in the +section entitled ``\s-1GNU\s0 Free Documentation License''. diff --git a/static/openbsd/man1/doas.1 b/static/openbsd/man1/doas.1 new file mode 100644 index 00000000..25827cc7 --- /dev/null +++ b/static/openbsd/man1/doas.1 @@ -0,0 +1,139 @@ +.\" $OpenBSD: doas.1,v 1.26 2022/12/22 19:53:22 kn Exp $ +.\" +.\"Copyright (c) 2015 Ted Unangst +.\" +.\"Permission to use, copy, modify, and distribute this software for any +.\"purpose with or without fee is hereby granted, provided that the above +.\"copyright notice and this permission notice appear in all copies. +.\" +.\"THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +.\"WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +.\"MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +.\"ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +.\"WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +.\"ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +.\"OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +.Dd $Mdocdate: December 22 2022 $ +.Dt DOAS 1 +.Os +.Sh NAME +.Nm doas +.Nd execute commands as another user +.Sh SYNOPSIS +.Nm doas +.Op Fl Lns +.Op Fl a Ar style +.Op Fl C Ar config +.Op Fl u Ar user +.Ar command +.Op Ar arg ... +.Sh DESCRIPTION +The +.Nm +utility executes the given command as another user. +The +.Ar command +argument is mandatory unless +.Fl C , +.Fl L , +or +.Fl s +is specified. +.Pp +The user will be required to authenticate by entering their password, +unless configured otherwise. +.Pp +By default, a new environment is created. +The variables +.Ev HOME , +.Ev LOGNAME , +.Ev PATH , +.Ev SHELL , +and +.Ev USER +and the +.Xr umask 2 +are set to values appropriate for the target user. +.Ev DOAS_USER +is set to the name of the user executing +.Nm . +The variables +.Ev DISPLAY +and +.Ev TERM +are inherited from the current environment. +This behavior may be modified by the config file. +The working directory is not changed. +.Pp +The options are as follows: +.Bl -tag -width tenletters +.It Fl a Ar style +Use the specified authentication style when validating the user, +as allowed by +.Pa /etc/login.conf . +A list of doas-specific authentication methods may be configured by adding an +.Sq auth-doas +entry in +.Xr login.conf 5 . +.It Fl C Ar config +Parse and check the configuration file +.Ar config , +then exit. +If +.Ar command +is supplied, +.Nm +will also perform command matching. +In the latter case +either +.Sq permit , +.Sq permit nopass +or +.Sq deny +will be printed on standard output, depending on command +matching results. +No command is executed. +.It Fl L +Clear any persisted authentications from previous invocations, +then immediately exit. +No command is executed. +.It Fl n +Non interactive mode, fail if the matching rule doesn't have the +.Ic nopass +option. +.It Fl s +Execute the shell from +.Ev SHELL +or +.Pa /etc/passwd . +.It Fl u Ar user +Execute the command as +.Ar user . +The default is root. +.El +.Sh EXIT STATUS +.Ex -std doas +It may fail for one of the following reasons: +.Pp +.Bl -bullet -compact +.It +The config file +.Pa /etc/doas.conf +could not be parsed. +.It +The user attempted to run a command which is not permitted. +.It +The password was incorrect. +.It +The specified command was not found or is not executable. +.El +.Sh SEE ALSO +.Xr su 1 , +.Xr doas.conf 5 +.Sh HISTORY +The +.Nm +command first appeared in +.Ox 5.8 . +.Sh AUTHORS +.An Ted Unangst Aq Mt tedu@openbsd.org diff --git a/static/openbsd/man1/domainname.1 b/static/openbsd/man1/domainname.1 new file mode 100644 index 00000000..31039aaa --- /dev/null +++ b/static/openbsd/man1/domainname.1 @@ -0,0 +1,70 @@ +.\" $OpenBSD: domainname.1,v 1.18 2012/05/27 07:10:15 jmc Exp $ +.\" $NetBSD: domainname.1,v 1.7 1995/07/25 19:36:57 jtc Exp $ +.\" +.\" Copyright (c) 1983, 1988, 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. 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. +.\" +.\" @(#)hostname.1 8.1 (Berkeley) 5/31/93 +.\" +.Dd $Mdocdate: May 27 2012 $ +.Dt DOMAINNAME 1 +.Os +.Sh NAME +.Nm domainname +.Nd set or print YP domain of current host system +.Sh SYNOPSIS +.Nm domainname +.Op Ar name-of-domain +.Sh DESCRIPTION +The +.Nm +utility prints the YP domain name of the current host. +The superuser can set the domain name by supplying a +.Pa /etc/defaultdomain +file (see +.Xr defaultdomain 5 ) . +This is used at system boot time by +.Xr rc 8 +to initialize the domainname. +.Sh SEE ALSO +.Xr hostname 1 , +.Xr getdomainname 3 , +.Xr setdomainname 3 , +.Xr defaultdomain 5 , +.Xr rc 8 , +.Xr yp 8 +.Sh HISTORY +The +.Nm +utility is derived from the +.Xr hostname 1 +utility, which appeared in +.Bx 4.2 . +The +.Nm +utility appeared in +.Nx 0.8 . diff --git a/static/openbsd/man1/du.1 b/static/openbsd/man1/du.1 new file mode 100644 index 00000000..8843be1a --- /dev/null +++ b/static/openbsd/man1/du.1 @@ -0,0 +1,199 @@ +.\" $OpenBSD: du.1,v 1.40 2025/11/14 10:55:08 jsg Exp $ +.\" $NetBSD: du.1,v 1.6 1996/10/18 07:20:31 thorpej Exp $ +.\" +.\" 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. 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. +.\" +.\" @(#)du.1 8.2 (Berkeley) 4/1/94 +.\" +.Dd $Mdocdate: November 14 2025 $ +.Dt DU 1 +.Os +.Sh NAME +.Nm du +.Nd display disk usage statistics +.Sh SYNOPSIS +.Nm du +.Op Fl achkrsx +.Op Fl H | L | P +.Op Fl d Ar depth +.Op Ar +.Sh DESCRIPTION +The +.Nm +utility displays the file system block usage for each +.Ar file +argument +and for each directory in the file hierarchy rooted in each directory +argument. +Note that the system block usage is usually greater than +the actual size of the file. +If no file is specified, the block usage of the hierarchy rooted in +the current directory is displayed. +.Pp +The options are as follows: +.Bl -tag -width Ds +.It Fl a +Display entries for files in addition to entries for directories. +.It Fl c +Display the grand total after all the arguments have been processed. +.It Fl d Ar depth +Do not display entries for files and directories more than +.Ar depth +levels deep; +.Fl d Cm 0 +has the same effect as +.Fl s . +Overrides earlier +.Fl d +and +.Fl s +options. +.It Fl H +Symbolic links on the command line are followed. +Symbolic links encountered in the tree traversal are not followed. +.It Fl h +"Human-readable" output. +Use unit suffixes: Byte, Kilobyte, Megabyte, +Gigabyte, Terabyte, Petabyte, Exabyte in order to reduce the number of +digits to four or less. +.It Fl k +By default, all sizes are reported in 512-byte block counts. +The +.Fl k +option causes the numbers to be reported in kilobyte counts. +.It Fl L +All symbolic links are followed. +.It Fl P +No symbolic links are followed. +.It Fl r +Generate messages about directories that cannot be read, files +that cannot be opened, and so on. +This is the default. +.It Fl s +Display only the total for each of the specified files and directories. +Overrides earlier +.Fl d +options. +.It Fl x +File system mount points are not traversed. +.El +.Pp +It is not an error to specify more than one of +the mutually exclusive options +.Fl h +and +.Fl k . +Where more than one of these options is specified, +the last option given overrides the others. +.Pp +.Nm +counts the storage used by symbolic links and not the files they +reference unless the +.Fl H +or +.Fl L +option is specified. +If either the +.Fl H +or +.Fl L +options are specified, storage used by any symbolic links which are +followed is not counted or displayed. +The +.Fl H , +.Fl L , +and +.Fl P +options override each other and the command's actions are determined +by the last one specified. +.Pp +Files having multiple hard links are counted (and displayed) a single +time per +.Nm +execution. +.Sh ENVIRONMENT +.Bl -tag -width BLOCKSIZE +.It Ev BLOCKSIZE +Block counts will be displayed in units of this size block, unless the +.Fl k +or +.Fl h +option is specified. +.El +.Sh EXIT STATUS +.Ex -std du +.Sh EXAMPLES +Display a summary of files and directories in the current directory, +sorted by size: +.Pp +.Dl $ du -had 1 | sort -h +.Sh SEE ALSO +.Xr df 1 , +.Xr fts_open 3 , +.Xr symlink 7 , +.Xr quot 8 +.Sh STANDARDS +The +.Nm +utility is compliant with the +.St -p1003.1-2008 +specification. +.Pp +The flags +.Op Fl cdhP , +as well as the +.Ev BLOCKSIZE +environment variable, +are extensions to that specification. +.Pp +The flag +.Op Fl r +is accepted but ignored, for compatibility with systems implementing +the obsolete +.St -xcu5 +standard. +.Sh HISTORY +The +.Nm +utility first appeared in +.At v1 . +.Sh AUTHORS +.An -nosplit +This version of +.Nm +was written by +.An Chris Newcomb +for +.Bx 4.3 Reno +in 1989 and incorporates later contributions from +.An Elan Amir , +.An Keith Bostic , +.An Luke Mewburn , +.An Matt Bing , +and +.An Can Erkin Acar Aq Mt canacar@openbsd.org . diff --git a/static/openbsd/man1/echo.1 b/static/openbsd/man1/echo.1 new file mode 100644 index 00000000..b4426c93 --- /dev/null +++ b/static/openbsd/man1/echo.1 @@ -0,0 +1,142 @@ +.\" $OpenBSD: echo.1,v 1.25 2026/02/25 21:57:43 jcs Exp $ +.\" $NetBSD: echo.1,v 1.7 1995/03/21 09:04:26 cgd Exp $ +.\" +.\" Copyright (c) 1990, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" the Institute of Electrical and Electronics Engineers, Inc. +.\" +.\" 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. 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. +.\" +.\" @(#)echo.1 8.1 (Berkeley) 7/22/93 +.\" +.Dd $Mdocdate: February 25 2026 $ +.Dt ECHO 1 +.Os +.Sh NAME +.Nm echo +.Nd write arguments to the standard output +.Sh SYNOPSIS +.Nm echo +.Op Fl Een +.Op Ar string ... +.Sh DESCRIPTION +The +.Nm +utility writes any specified operands, separated by single blank +.Pq Sq \ \& +characters and followed by a newline +.Pq Sq \en +character, to the standard +output. +.Pp +When no operands are given, only the newline is written. +The +.Fl \- +operand, +which generally denotes an end to option processing, +is treated as part of +.Ar string . +.Pp +The options are as follows: +.Bl -tag -width Ds +.It Fl E +Disable interpretation of backslash escape sequences (default). +.It Fl e +Enable interpretation of the following backslash escape sequences: +.Pp +.Bl -tag -width Ds -offset indent -compact +.It Cm \e\e +A literal backslash. +.It Cm \ea +Alert (BEL). +.It Cm \eb +Backspace. +.It Cm \ec +Suppress further output, including the trailing newline character. +.It Cm \ee +Escape character. +.It Cm \ef +Form feed. +.It Cm \en +Newline. +.It Cm \er +Carriage return. +.It Cm \et +Horizontal tab. +.It Cm \ev +Vertical tab. +.It Cm \e0 Ns Ar nnn +The character whose octal value is +.Ar nnn +(zero to three octal digits). +.It Cm \ex Ns Ar hh +The character whose hexadecimal value is +.Ar hh +(one or two hexadecimal digits). +.El +.It Fl n +Do not print the trailing newline character. +.El +.Sh EXIT STATUS +.Ex -std echo +.Sh SEE ALSO +.Xr csh 1 , +.Xr ksh 1 , +.Xr printf 1 +.Sh STANDARDS +The +.Nm +utility is compliant with the +.St -p1003.1-2008 +specification. +.Pp +The flags +.Op Fl E , +.Op Fl e , +and +.Op Fl n +conflict with the behaviour mandated by the +X/Open System Interfaces option of the +.St -p1003.1-2008 +specification, +which says they should be treated as part of +.Ar string . +.Pp +.Nm +also exists as a built-in to +.Xr csh 1 +and +.Xr ksh 1 , +though with a different syntax. +.Pp +Where portability is paramount, use +.Xr printf 1 . +.Sh HISTORY +An +.Nm +utility appeared in +.At v2 . diff --git a/static/openbsd/man1/ed.1 b/static/openbsd/man1/ed.1 new file mode 100644 index 00000000..98d4981a --- /dev/null +++ b/static/openbsd/man1/ed.1 @@ -0,0 +1,859 @@ +.\" $OpenBSD: ed.1,v 1.77 2022/06/19 05:49:51 jmc Exp $ +.\" +.\" Copyright (c) 1993 Andrew Moore, Talke Studio. +.\" 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. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. +.\" +.Dd $Mdocdate: June 19 2022 $ +.Dt ED 1 +.Os +.Sh NAME +.Nm ed +.Nd text editor +.Sh SYNOPSIS +.Nm ed +.Op Fl +.Op Fl s +.Op Fl p Ar string +.Op Ar file +.Sh DESCRIPTION +.Nm +is a line-oriented text editor. +It is used to create, display, modify, and otherwise manipulate text files. +If invoked with a +.Ar file +argument, then a copy of +.Ar file +is read into the editor's buffer. +Changes are made to this copy and not directly to +.Ar file +itself. +Upon quitting +.Nm ed , +any changes not explicitly saved with a +.Ic w +command are lost. +.Pp +Editing is done in two distinct modes: +.Em command +and +.Em input . +When first invoked, +.Nm +is in command mode. +In this mode, commands are read from the standard input and +executed to manipulate the contents of the editor buffer. +.Pp +A typical command might look like: +.Pp +.Dl ,s/old/new/g +.Pp +which replaces all occurrences of the string +.Qq old +with +.Qq new . +.Pp +When an input command, such as +.Ic a +.Pq append , +.Ic i +.Pq insert , +or +.Ic c +.Pq change +is given, +.Nm +enters input mode. +This is the primary means of adding text to a file. +In this mode, no commands are available; +instead, the standard input is written directly to the editor buffer. +Lines consist of text up to and including a newline character. +Input mode is terminated by entering a single period +.Pq Ql \&. +on a line. +.Pp +All +.Nm +commands operate on whole lines or ranges of lines; e.g., +the +.Ic d +command deletes lines; the +.Ic m +command moves lines, and so on. +It is possible to modify only a portion of a line by means of replacement, +as in the example above. +However, even here, the +.Ic s +command is applied to whole lines at a time. +.Pp +In general, +.Nm +commands consist of zero or more line addresses, followed by a single +character command and possibly additional parameters; i.e., +commands have the structure: +.Pp +.Sm off +.D1 Oo Ar address Oo , Ar address Oc Oc Ar command Op Ar parameters +.Sm on +.Pp +The address(es) indicate the line or range of lines to be affected by the +command. +If fewer addresses are given than the command accepts, then +default addresses are supplied. +.Pp +Many +.Nm +commands and line addresses support basic regular expressions +.Pq BREs . +See +.Xr re_format 7 +for more information on regular expressions. +.Pp +The options are as follows: +.Bl -tag -width "-p string" +.It Fl +Same as the +.Fl s +option +.Pq deprecated . +.It Fl p Ar string +Specifies a command prompt. +This may be toggled on and off with the +.Ic P +command. +.It Fl s +Suppress diagnostics. +This should be used if +.Nm +standard input is from a script. +.It Ar file +Specifies the name of a file to read. +If +.Ar file +is prefixed with a +bang +.Pq Ql \&! , +then it is interpreted as a shell command. +In this case, what is read is the standard output of +.Ar file +executed via +.Xr sh 1 . +To read a file whose name begins with a bang, prefix the +name with a backslash +.Pq Ql \e . +The default filename is set to +.Ar file +only if it is not prefixed with a bang. +.El +.Ss LINE ADDRESSING +An address represents the number of a line in the buffer. +.Nm +maintains a +.Em current address +which is typically supplied to commands as the default address +when none is specified. +When a file is first read, the current address is set to the last line +of the file. +In general, the current address is set to the last line affected by a command. +.Pp +A line address is +constructed from one of the bases in the list below, optionally followed +by a numeric offset. +The offset may include any combination of digits, operators (e.g., +.Ql + , +.Ql - , +and +.Ql ^ ) , +and whitespace. +Addresses are read from left to right, and their values are computed +relative to the current address. +.Pp +One exception to the rule that addresses represent line numbers is the +address +.Ad 0 +.Pq zero . +This means +.Dq before the first line , +and is legal wherever it makes sense. +.Pp +An address range is two addresses separated either by a comma or semi-colon. +The value of the first address in a range cannot exceed the +value of the second. +If only one address is given in a range, +then the second address is set to the given address. +If an +.Ar n Ns -tuple +of addresses is given where +.Ar n +\*(Gt 2, +then the corresponding range is determined by the last two addresses in the +.Ar n Ns -tuple . +If only one address is expected, then the last address is used. +.Pp +Each address in a comma-delimited range is interpreted relative to the +current address. +In a semi-colon-delimited range, the first address is +used to set the current address, and the second address is interpreted +relative to the first. +.Pp +The following address symbols are recognized: +.Bl -tag -width Ds +.It \&. +The current line +.Pq address +in the buffer. +.It $ +The last line in the buffer. +.It Ar n +The +.Ar n Ns th +line in the buffer, where +.Ar n +is a number in the range +.Ad [0,$] . +.It - or ^ +The previous line. +This is equivalent to +.Ad \-1 +and may be repeated with cumulative effect. +.It Xo +.Pf - Ar n No or\ \& +.Pf ^ Ar n +.Xc +The +.Ar n Ns th +previous line, where +.Ar n +is a non-negative number. +.It + +The next line. +This is equivalent to +.Ad +1 +and may be repeated with cumulative effect. +.It + Ns Ar n +The +.Ar n Ns th +next line, where +.Ar n +is a non-negative number. +.It \&, or % +The first through last lines in the buffer. +This is equivalent to the address range +.Ad 1,$ . +.It \&; +The current through last lines in the buffer. +This is equivalent to the address range +.Ad .,$ . +.It / Ns Ar re Ns / +The next line containing the regular expression +.Ar re . +The search wraps to the beginning of the buffer and continues down to the +current line, if necessary. +The second slash can be omitted if it ends a line. +.Qq // +repeats the last search. +.It Pf ? Ar re ? +The previous line containing the regular expression +.Ar re . +The search wraps to the end of the buffer and continues up to the +current line, if necessary. +The second question mark can be omitted if it ends a line. +.Qq ?? +repeats the last search. +.It \&' Ns Ar lc +The line previously marked by a +.Ic k +.Pq mark +command, where +.Ar lc +is a lower case letter. +.El +.Ss COMMANDS +All +.Nm +commands are single characters, though some require additional parameters. +If a command's parameters extend over several lines, then +each line except for the last must be terminated with a backslash +.Pq Ql \e . +.Pp +In general, at most one command is allowed per line. +However, most commands accept a print suffix, which is any of +.Ic p +.Pq print , +.Ic l +.Pq list , +or +.Ic n +.Pq enumerate , +to print the last line affected by the command. +.Pp +.Nm +recognizes the following commands. +The commands are shown together with +the default address or address range supplied if none is specified +.Pq in parentheses , +and other possible arguments on the right. +.Bl -tag -width Dxxs +.It (.) Ns Ic a +Appends text to the buffer after the addressed line. +Text is entered in input mode. +The current address is set to last line entered. +.It (.,.) Ns Ic c +Changes lines in the buffer. +The addressed lines are deleted from the buffer, +and text is appended in their place. +Text is entered in input mode. +The current address is set to last line entered. +.It (.,.) Ns Ic d +Deletes the addressed lines from the buffer. +If there is a line after the deleted range, then the current address is set +to this line. +Otherwise the current address is set to the line before the deleted range. +.It Ic e Ar file +Edits +.Ar file , +and sets the default filename. +If +.Ar file +is not specified, then the default filename is used. +Any lines in the buffer are deleted before the new file is read. +The current address is set to the last line read. +.It Ic e No \&! Ns Ar command +Edits the standard output of +.No \&! Ns Ar command , +(see +.Ic \&! Ns Ar command +below). +The default filename is unchanged. +Any lines in the buffer are deleted before the output of +.Ar command +is read. +The current address is set to the last line read. +.It Ic E Ar file +Edits +.Ar file +unconditionally. +This is similar to the +.Ic e +command, except that unwritten changes are discarded without warning. +The current address is set to the last line read. +.It Ic f Ar file +Sets the default filename to +.Ar file . +If +.Ar file +is not specified, then the default unescaped filename is printed. +.Sm off +.It Xo +.Pf (1,$) Ic g No / +.Ar re No / Ar command-list +.Xc +.Sm on +Mark each addressed line matching the regular expression +.Ar re +for modification. +The current address is set to each marked line in turn, and then the +.Ar command-list +is executed each time. +The command-list can change the current line number, +and it is not changed back after the command-list ended. +When a marked line is changed, it is unmarked +and the command-list won't be executed for it any more. +If no lines were matched, +the current line number remains unchanged. +.Pp +Each command in +.Ar command-list +must be on a separate line, +and every line except for the last must be terminated by a backslash +.Pq Sq \e . +Any commands are allowed, except for +.Ic g , +.Ic G , +.Ic v , +and +.Ic V . +An empty +.Ar command-list +is equivalent to a +.Ic p +command \(em unlike for the +.Cm G +command, where an empty command-list does nothing, and unlike an empty +command, which is equivalent to the command +.Cm +p . +If the +.Ar command-list +is empty, the trailing slash can be omitted. +.Sm off +.It (1,$) Ic G No / Ar re No / +.Sm on +Interactively edits the addressed lines matching a regular expression +.Ar re . +The trailing slash after +.Ar re +can be omitted. +For each matching line, the line is printed, the current address is set, +and the user is prompted to enter a +.Ar command-list . +At the end of the +.Ic G +command, the current address is set to the last line affected by +.Pq the last +command-list. +If no lines were matched, +the current line number remains unchanged. +.Pp +The format of +.Ar command-list +is the same as that of the +.Ic g +command, but an empty command list does nothing. +A single +.Sq & +repeats the last non-empty command list. +.It Ic H +Toggles the printing of error explanations. +By default, explanations are not printed. +It is recommended that +.Nm +scripts begin with this command to aid in debugging. +.It Ic h +Prints an explanation of the last error. +.It (.) Ns Ic i +Inserts text in the buffer before the current line. +Text is entered in input mode. +The current address is set to the last line entered. +.It (.,+) Ns Ic j +Joins the addressed lines. +The addressed lines are deleted from the buffer and replaced by a single +line containing their joined text. +The current address is set to the resultant line. +.It (.) Ns Ic k Ns Ar lc +Marks a line with a lower case letter +.Ar lc . +The line can then be addressed as +.Ic ' Ns Ar lc +(i.e., a single quote followed by +.Ar lc ) +in subsequent commands. +The mark is not cleared until the line is deleted or otherwise modified. +.It (.,.) Ns Ic l +Prints the addressed lines unambiguously. +The current address is set to the last line printed. +.It (.,.) Ns Ic m Ns (.) +Moves lines in the buffer. +The addressed lines are moved to after the +right-hand destination address, which may be the address +.Ad 0 +.Pq zero . +The current address is set to the last line moved. +.It (.,.) Ns Ic n +Prints the addressed lines along with their line numbers. +The current address is set to the last line printed. +.It (.,.) Ns Ic p +Prints the addressed lines. +The current address is set to the last line printed. +.It Ic P +Toggles the command prompt on and off. +Unless a prompt was specified with the command-line option +.Fl p Ar string , +the command prompt is by default turned off. +.It Ic q +Quits +.Nm ed . +.It Ic Q +Quits +.Nm +unconditionally. +This is similar to the +.Ic q +command, except that unwritten changes are discarded without warning. +.It ($) Ns Ic r Ar file +Reads +.Ar file +to after the addressed line. +If +.Ar file +is not specified, then the default filename is used. +If there was no default filename prior to the command, +then the default filename is set to +.Ar file . +Otherwise, the default filename is unchanged. +The current address is set to the last line read. +.It ($) Ns Ic r No \&! Ns Ar command +Reads to after the addressed line the standard output of +.No \&! Ns Ar command , +(see +.Ic \&! Ns Ar command +below). +The default filename is unchanged. +The current address is set to the last line read. +.Sm off +.It Xo +.Pf (.,.) Ic s No / Ar re +.No / Ar replacement No /\ \& +.Pf (.,.) Ic s No / Ar re +.No / Ar replacement No / Ic g\ \& +.No (.,.) Ic s No / Ar re +.No / Ar replacement No / Ar n +.Xc +.Sm on +Replaces text in the addressed lines matching a regular expression +.Ar re +with +.Ar replacement . +By default, only the first match in each line is replaced. +If the +.Ic g +.Pq global +suffix is given, then every match is replaced. +The +.Ar n +suffix, where +.Ar n +is a positive number, causes only the +.Ar n Ns th +match to be replaced. +It is an error if no substitutions are performed on any of the addressed +lines. +The current address is set to the last line affected. +.Pp +.Ar re +and +.Ar replacement +may be delimited by any character other than space and newline +(see the +.Ic s +command below). +If one or two of the last delimiters is omitted, then the last line +affected is printed as though the print suffix +.Ic p +were specified. +.Pp +An unescaped +.Ql & +in +.Ar replacement +is replaced by the currently matched text. +The character sequence +.Pf \e Ar m , +where +.Ar m +is a number in the range [1,9], is replaced by the +.Ar m Ns th +backreference expression of the matched text. +If +.Ar replacement +consists of a single +.Ql % , +then +.Ar replacement +from the last substitution is used. +Newlines may be embedded in +.Ar replacement +if they are escaped with a backslash +.Pq Ql \e . +.It (.,.) Ns Ic s +Repeats the last substitution. +This form of the +.Ic s +command accepts a count suffix +.Ar n , +or any combination of the characters +.Ic r , +.Ic g , +and +.Ic p . +If a count suffix +.Ar n +is given, then only the +.Ar n Ns th +match is replaced. +The +.Ic r +suffix causes the regular expression of the last search to be used +instead of that of the last substitution. +The +.Ic g +suffix toggles the global suffix of the last substitution. +The +.Ic p +suffix toggles the print suffix of the last substitution. +The current address is set to the last line affected. +.It (.,.) Ns Ic t Ns (.) +Copies +.Pq i.e., transfers +the addressed lines to after the right-hand destination address, +which may be the address +.Ad 0 +.Pq zero . +The current address is set to the last line copied. +.It Ic u +Undoes the last command and restores the current address +to what it was before the command. +The global commands +.Ic g , +.Ic G , +.Ic v , +and +.Ic V +are treated as a single command by undo. +.Ic u +is its own inverse. +.Sm off +.It Xo +.Pf (1,$) Ic v No / Ar re +.Pf / Ar command-list +.Xc +.Sm on +The same as the +.Ic g +command, except that it applies +.Ar command-list +to each of the addressed lines not matching the regular expression +.Ar re . +.Sm off +.It Xo +.Pf (1,$) Ic V No / +.Ar re No / +.Xc +.Sm on +The same as the +.Ic G +command, except that it interactively edits the addressed lines +not matching the regular expression +.Ar re . +.It (1,$) Ns Ic w Ar file +Writes the addressed lines to +.Ar file . +Any previous contents of +.Ar file +are lost without warning. +If there is no default filename, then the default filename is set to +.Ar file , +otherwise it is unchanged. +If no filename is specified, then the default filename is used. +The current address is unchanged. +.It (1,$) Ns Ic wq Ar file +Writes the addressed lines to +.Ar file , +and then executes a +.Ic q +command. +.It (1,$) Ns Ic w No \&! Ns Ar command +Writes the addressed lines to the standard input of +.No \&! Ns Ar command , +(see +.Ic \&! Ns Ar command +below). +The default filename and current address are unchanged. +.It (1,$) Ns Ic W Ar file +Appends the addressed lines to the end of +.Ar file . +This is similar to the +.Ic w +command, except that the previous contents of file are not clobbered. +The current address is unchanged. +.It (+) Ns Ic z Ns Ar n +Scrolls +.Ar n +lines at a time starting at addressed line. +If +.Ar n +is not specified, then the current window size is used. +The current address is set to the last line printed. +.It ($) Ns Ic = +Prints the line number of the addressed line. +.It (+) +An address without a command prints the addressed line +and sets the current address to that line. +If the address is also omitted, it defaults to the next line (+). +.It Ic \&! Ns Ar command +Executes +.Ar command +via +.Xr sh 1 . +If the first character of +.Ar command +is +.Sq !\& , +then it is replaced by text of the previous +.Ic \&! Ns Ar command . +.Nm +does not process +.Ar command +for +.Sq \e +.Pq backslash +escapes. +However, an unescaped +.Sq % +is replaced by the default filename. +When the shell returns from execution, a +.Sq \&! +is printed to the standard output. +The current line is unchanged. +.El +.Sh ASYNCHRONOUS EVENTS +.Bl -tag -width "SIGWINCH" +.It Dv SIGHUP +If the current buffer has changed since it was last written, +.Nm +attempts to write the buffer to the file +.Pa ed.hup . +Nothing is written to the currently remembered file, and +.Nm +exits. +.It Dv SIGINT +When an interrupt occurs, +.Nm +prints +.Sq ?\en +and returns to command mode. +If interrupted during text input, +the text already input is written to the current buffer, +as if text input had been normally terminated. +.It Dv SIGQUIT +This signal is ignored. +.It Dv SIGWINCH +The screen is resized. +.El +.Sh FILES +.Bl -tag -width /tmp/ed.* -compact +.It Pa /tmp/ed.* +buffer file +.It Pa ed.hup +where +.Nm +attempts to write the buffer if the terminal hangs up +.El +.Sh EXIT STATUS +.Ex -std ed +.Sh DIAGNOSTICS +When an error occurs, +.Nm +prints a +.Sq \&? +and either returns to command mode or exits if its input is from a script. +An explanation of the last error can be printed with the +.Ic h +.Pq help +command. +.Pp +Since the +.Ic g +.Pq global +command masks any errors from failed searches and substitutions, +it can be used to perform conditional operations in scripts; e.g., +.Pp +.Dl g/old/s//new/ +.Pp +replaces any occurrences of +.Qq old +with +.Qq new . +.Pp +If the +.Ic u +.Pq undo +command occurs in a global command list, +then the command list is executed only once. +.Pp +If diagnostics are not disabled, attempting to quit +.Nm +or edit another file before writing a modified buffer results in an error. +If the command is entered a second time, it succeeds, +but any changes to the buffer are lost. +.Sh SEE ALSO +.Xr sed 1 , +.Xr sh 1 , +.Xr vi 1 , +.Xr re_format 7 +.Rs +.\" 4.4BSD USD:9 +.%A B. W. Kernighan +.%T A Tutorial Introduction to the UNIX Text Editor +.Re +.Rs +.\" 4.4BSD USD:10 +.%A B. W. Kernighan +.%T Advanced Editing on UNIX +.Re +.Rs +.%A B. W. Kernighan +.%A P. J. Plauger +.%B Software Tools in Pascal +.%O Addison-Wesley +.%D 1981 +.Re +.Sh STANDARDS +The +.Nm +utility is compliant with the +.St -p1003.1-2008 +specification. +.Pp +The commands +.Cm s +(to repeat the last substitution), +.Cm W , +.Cm wq , +and +.Cm z +as well as the address specifier +.Sq % +are extensions to that specification. +.Pp +The +.St -p1003.1-2008 +specification says the +.Sq ^ +address specifier is neither required nor prohibited; +additionally, it says behaviour for the +.Fl +option is +.Dq unspecified . +.Sh HISTORY +An +.Nm +command appeared in +.At v1 . +.Sh CAVEATS +.Nm +processes +.Ar file +arguments for backslash escapes, i.e., in a filename, +any characters preceded by a backslash +.Pq Ql \e +are interpreted literally. +.Pp +If a text +.Pq non-binary +file is not terminated by a newline character, +then +.Nm +appends one on reading/writing it. +In the case of a binary file, +.Nm +does not append a newline on reading/writing. diff --git a/static/openbsd/man1/empty.1 b/static/openbsd/man1/empty.1 new file mode 100644 index 00000000..c501366d --- /dev/null +++ b/static/openbsd/man1/empty.1 @@ -0,0 +1,6 @@ +.Dd July 4, 2016 +.Dt EMPTY 1 +.Os +.Sh NAME +.Nm empty +.Nd no title diff --git a/static/openbsd/man1/encrypt.1 b/static/openbsd/man1/encrypt.1 new file mode 100644 index 00000000..053f6eec --- /dev/null +++ b/static/openbsd/man1/encrypt.1 @@ -0,0 +1,87 @@ +.\" $OpenBSD: encrypt.1,v 1.25 2014/12/24 22:04:26 tedu Exp $ +.\" +.\" Copyright (c) 1996, Jason Downs. 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. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``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 AUTHOR(S) 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. +.\" +.Dd $Mdocdate: December 24 2014 $ +.Dt ENCRYPT 1 +.Os +.Sh NAME +.Nm encrypt +.Nd encrypt passwords from the command line or standard input +.Sh SYNOPSIS +.Nm encrypt +.Op Fl b Ar rounds +.Op Fl c Ar class +.Op Fl p | Ar string +.Sh DESCRIPTION +.Nm +prints the encrypted form of +.Ar string +to the standard output. +This is mostly useful for encrypting passwords from within scripts. +.Pp +The options are as follows: +.Bl -tag -width Ds +.It Fl b Ar rounds +Encrypt the string using Blowfish hashing with the specified number of +.Ar rounds . +May also specify 'a' to request a variable number of rounds scaled to the +machine's CPU capabilities. +.It Fl c Ar class +Use the cipher type specified in the given user login class. +See +.Xr login.conf 5 +for more information. +.It Fl p +Prompt for a single string with echo turned off. +.El +.Pp +If no +.Ar string +is specified, +.Nm +reads one string per line from standard input, encrypting each one. +In the case where no specific algorithm or specific user login class was given +as a command line option, the algorithm specified in the default class in +.Pa /etc/login.conf +will be used. +.Pp +For Blowfish, a new random salt is automatically generated for each +password. +.Pp +Specifying the +.Ar string +on the command line should be discouraged; using the +standard input is more secure. +.Sh FILES +.Bl -tag -width /etc/login.conf -compact +.It Pa /etc/login.conf +.El +.Sh SEE ALSO +.Xr crypt_newhash 3 , +.Xr login.conf 5 +.Sh HISTORY +.Nm +first appeared in +.Ox 1.2 . diff --git a/static/openbsd/man1/env.1 b/static/openbsd/man1/env.1 new file mode 100644 index 00000000..db35cb73 --- /dev/null +++ b/static/openbsd/man1/env.1 @@ -0,0 +1,135 @@ +.\" $OpenBSD: env.1,v 1.21 2024/07/28 10:08:44 kn Exp $ +.\" Copyright (c) 1980, 1990 The Regents of the University of California. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" the Institute of Electrical and Electronics Engineers, Inc. +.\" 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. 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. +.\" +.\" from: @(#)printenv.1 6.7 (Berkeley) 7/28/91 +.\" +.Dd $Mdocdate: July 28 2024 $ +.Dt ENV 1 +.Os +.Sh NAME +.Nm env +.Nd set and print environment +.Sh SYNOPSIS +.Nm env +.Op Fl i +.Op Fl u Ar name +.Oo +.Ar name Ns = Ns Ar value ... +.Oc +.Oo +.Ar utility +.Op Ar argument ... +.Oc +.Sh DESCRIPTION +.Nm +executes +.Ar utility +after modifying the environment as +specified on the command line. +The option +.Ar name Ns = Ns Ar value +specifies +an environment variable, +.Ar name , +with a value of +.Ar value . +.Pp +The options are as follows: +.Bl -tag -width Ds +.It Fl i +Causes +.Nm +to completely ignore the environment it inherits. +.It Fl u Ar name +Remove +.Ar name +from the environment. +.El +.Pp +If no +.Ar utility +is specified, +.Nm +prints out the names and values +of the variables in the environment, with one +.Ar name Ns = Ns Ar value +pair per line. +.Pp +.Nm +doesn't handle commands with equal +.Pq Sq = +signs in their +names, for obvious reasons. +.Sh EXIT STATUS +The +.Nm +utility exits with one of the following values: +.Bl -tag -width Ds +.It 0 +.Nm +completed successfully and, if +.Ar utility +was specified, it was invoked and completed successfully too. +.It 1 +An invalid command line option was passed to +.Nm +and +.Ar utility +was not invoked, or +.Ar utility +was invoked but failed with exit status 1. +.It 2\(en125, 128\(en255 +.Ar utility +was invoked but failed with this exit status; +see its manual page for more information. +.It 126 +.Ar utility +was found but could not be invoked, or it was invoked but failed +with exit status 126. +.It 127 +.Ar utility +could not be found, or it was invoked but failed with exit status 127. +.El +.Sh SEE ALSO +.Xr execvp 3 , +.Xr environ 7 +.Sh STANDARDS +The +.Nm +utility is compliant with the +.St -p1003.1-2008 +specification. +The flag +.Op Fl u +is an extension to that specification. +.Pp +The historic +.Fl +option has been deprecated but is still supported in this implementation. diff --git a/static/openbsd/man1/expand.1 b/static/openbsd/man1/expand.1 new file mode 100644 index 00000000..a26455f6 --- /dev/null +++ b/static/openbsd/man1/expand.1 @@ -0,0 +1,138 @@ +.\" $OpenBSD: expand.1,v 1.20 2014/03/17 21:48:51 jmc Exp $ +.\" $NetBSD: expand.1,v 1.3 1995/09/02 06:19:45 jtc Exp $ +.\" +.\" Copyright (c) 1980, 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. 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. +.\" +.\" @(#)expand.1 8.1 (Berkeley) 6/9/93 +.\" +.Dd $Mdocdate: March 17 2014 $ +.Dt EXPAND 1 +.Os +.Sh NAME +.Nm expand , +.Nm unexpand +.Nd expand tabs to spaces, and vice versa +.Sh SYNOPSIS +.Nm expand +.Op Fl t Ar tablist +.Op Ar +.Nm unexpand +.Op Fl a +.Op Ar +.Sh DESCRIPTION +.Nm expand +processes the named files or the standard input, +writing the standard output with tabs changed into blanks. +Backspace characters are preserved into the output and decrement +the column count for tab calculations. +.Nm expand +is useful for pre-processing character files +(before sorting, looking at specific columns, etc.) that +contain tabs. +.Pp +.Nm unexpand +puts tabs back into the data from the standard input or the named +files and writes the result on the standard output. +.Pp +The options are as follows: +.Bl -tag -width flag +.It Fl a +By default, only leading blanks and tabs +are reconverted to maximal strings of tabs. +If the +.Fl a +option is given, tabs are inserted whenever they would compress the +resultant file by replacing two or more characters. +.It Fl t Ar tablist +If the argument to +.Fl t , +.Ar tablist , +consists of a single numerical argument, tabs are set +.Ar tablist +spaces apart instead of the default 8. +If multiple +.Fl t +options are given, then the tabs are set at those +specific columns. +.Pp +Otherwise the argument to +.Fl t +may consist of a list +of two or more positive decimal integers, +separated by commas or single blank characters, +in ascending order: +in the event of having to process a +.Aq tab +at a position beyond the last of those specified in a multiple +.Fl t +list, +the +.Aq tab +is replaced by a single +.Aq space +character. +.Pp +This implementation of +.Nm +additionally allows +.Ar tablist +to be specified without using the +.Fl t +flag, by prefixing +.Ar tablist +with a dash +.Pq - . +.El +.Sh EXIT STATUS +.Ex -std expand unexpand +.Sh SEE ALSO +.Xr fold 1 +.Sh STANDARDS +The +.Nm +and +.Nm unexpand +utilities are compliant with the +.St -p1003.1-2008 +specification, +except that this implementation does not support a +.Fl t +flag for +.Nm unexpand . +.Pp +The ability to specify tabstops without the +.Fl t +flag is not specified by +.St -p1003.1-2008 , +though it states it +.Dq may be present in some implementations . +.Sh HISTORY +The +.Nm expand +utility first appeared in +.Bx 1 . diff --git a/static/openbsd/man1/expr.1 b/static/openbsd/man1/expr.1 new file mode 100644 index 00000000..c19e7d24 --- /dev/null +++ b/static/openbsd/man1/expr.1 @@ -0,0 +1,157 @@ +.\" $OpenBSD: expr.1,v 1.25 2022/12/22 19:53:22 kn Exp $ +.\" $NetBSD: expr.1,v 1.9 1995/04/28 23:27:13 jtc Exp $ +.\" +.\" Written by J.T. Conklin . +.\" Public domain. +.\" +.Dd $Mdocdate: December 22 2022 $ +.Dt EXPR 1 +.Os +.Sh NAME +.Nm expr +.Nd evaluate expression +.Sh SYNOPSIS +.Nm expr +.Ar expression ... +.Sh DESCRIPTION +The +.Nm +utility evaluates each +.Ar expression +and writes the result on standard output. +All operators are separate arguments to the +.Nm +utility. +Characters special to the command interpreter must be escaped. +.Pp +Operators are listed below in order of increasing precedence. +Operators with equal precedence are grouped within { } symbols. +.Bl -tag -width indent +.It Ar expr1 | expr2 +Returns the evaluation of +.Ar expr1 +if it is neither an empty string nor zero; +otherwise, returns the evaluation of +.Ar expr2 . +.It Ar expr1 Li & Ar expr2 +Returns the evaluation of +.Ar expr1 +if neither expression evaluates to an empty string or zero; +otherwise, returns zero. +.It Ar expr1 Li "{=, >, >=, <, <=, !=}" Ar expr2 +Returns the results of integer comparison if both arguments are +decimal integers; otherwise, returns the results of string comparison +using the locale-specific collation sequence. +The result of each comparison is 1 if the specified relation is true, +or 0 if the relation is false. +.It Ar expr1 Li "{+, -}" Ar expr2 +Returns the results of addition or subtraction of decimal integer-valued +arguments. +.It Ar expr1 Li "{*, /, %}" Ar expr2 +Returns the results of multiplication, integer division, or remainder of +decimal integer-valued arguments. +.It Ar expr1 Li \&: Ar expr2 +The +.Ql \&: +operator matches +.Ar expr1 +against +.Ar expr2 , +which must be a basic regular expression. +The regular expression is anchored +to the beginning of the string with an implicit +.Ql ^ . +.Pp +If the match succeeds and the pattern contains at least one regular +expression subexpression +.Dq "\e(...\e)" , +the string corresponding to +.Dq "\e1" +is returned; +otherwise, the matching operator returns the number of characters matched. +If the match fails and the pattern contains a regular expression subexpression +the null string is returned; +otherwise, returns 0. +.Pp +Note: the empty string cannot be matched using +.Bd -literal -offset indent +expr '' : '$' +.Ed +.Pp +This is because the returned number of matched characters +.Pq zero +is indistinguishable from a failed match, so +.Nm +returns failure +.Pq 0 . +To match the empty string, use a structure such as: +.Bd -literal -offset indent +expr X'' : 'X$' +.Ed +.El +.Pp +Parentheses are used for grouping in the usual manner. +.Sh EXIT STATUS +The +.Nm +utility exits with one of the following values: +.Pp +.Bl -tag -width Ds -offset indent -compact +.It 0 +The expression is neither an empty string nor 0. +.It 1 +The expression is an empty string or 0. +.It 2 +The expression is invalid. +.It \*(Gt2 +An error occurred (such as memory allocation failure). +.El +.Sh EXAMPLES +Add 1 to the variable +.Va a : +.Bd -literal -offset indent +$ a=`expr $a + 1` +.Ed +.Pp +Return the filename portion of a pathname stored +in variable +.Va a . +The +.Ql // +characters act to eliminate ambiguity with the division operator: +.Bd -literal -offset indent +$ expr "//$a" \&: '.*/\e(.*\e)' +.Ed +.Pp +Return the number of characters in variable +.Va a : +.Bd -literal -offset indent +$ expr $a \&: '.*' +.Ed +.Sh SEE ALSO +.Xr test 1 , +.Xr re_format 7 +.Sh STANDARDS +The +.Nm +utility is compliant with the +.St -p1003.1-2008 +specification. +.Sh HISTORY +The +.Nm +utility first appeared in the Programmer's Workbench (PWB/UNIX) +and has supported regular expressions since +.At v7 . +It was rewritten from scratch for +.Bx 386 0.1 +and again for +.Nx 1.1 . +.Sh AUTHORS +.An -nosplit +The first free version was written by +.An Pace Willisson +in 1992. +This version was written by +.An John T. Conklin +in 1994. diff --git a/static/openbsd/man1/false.1 b/static/openbsd/man1/false.1 new file mode 100644 index 00000000..81e76838 --- /dev/null +++ b/static/openbsd/man1/false.1 @@ -0,0 +1,62 @@ +.\" $OpenBSD: false.1,v 1.11 2010/09/29 07:44:56 jmc Exp $ +.\" Copyright (c) 1983, 1990 The Regents of the University of California. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" the Institute of Electrical and Electronics Engineers, Inc. +.\" +.\" 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. 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. +.\" +.\" from: @(#)false.1 6.6 (Berkeley) 7/24/91 +.\" +.Dd $Mdocdate: September 29 2010 $ +.Dt FALSE 1 +.Os +.Sh NAME +.Nm false +.Nd return false value +.Sh SYNOPSIS +.Nm false +.Sh DESCRIPTION +The +.Nm +utility always exits with a non-zero exit code. +.Sh EXIT STATUS +The +.Nm +utility always exits with a non-zero exit code. +.Sh SEE ALSO +.Xr ksh 1 , +.Xr true 1 +.Sh STANDARDS +The +.Nm +utility is compliant with the +.St -p1003.1-2008 +specification. +.Pp +.Nm +also exists as a built-in to +.Xr ksh 1 . diff --git a/static/openbsd/man1/fdformat.1 b/static/openbsd/man1/fdformat.1 new file mode 100644 index 00000000..bfe31df2 --- /dev/null +++ b/static/openbsd/man1/fdformat.1 @@ -0,0 +1,147 @@ +.\" $OpenBSD: fdformat.1,v 1.21 2018/09/17 15:44:16 jmc Exp $ +.\" +.\" Copyright (C) 1993, 1994 by Joerg Wunsch, Dresden +.\" 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. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``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 AUTHOR(S) 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. +.\" +.Dd $Mdocdate: September 17 2018 $ +.Dt FDFORMAT 1 +.Os +.Sh NAME +.Nm fdformat +.Nd format floppy disks +.Sh SYNOPSIS +.Nm fdformat +.Bk -words +.Op Fl nqv +.Op Fl c Ar cyls +.Op Fl F Ar fillbyte +.Op Fl g Ar gap3len +.Op Fl h Ar heads +.Op Fl i Ar intleave +.Op Fl r Ar rate +.Op Fl S Ar secshft +.Op Fl s Ar secs +.Op Fl t Ar steps_per_track +.Ar device_name +.Ek +.Sh DESCRIPTION +.Nm fdformat +formats a floppy disk at device +.Ar device_name . +.Ar device_name +should be a character device; it may be given either with a full path +name of a raw device node for a floppy disk drive +.Pq e.g., Pa /dev/rfd0c , +or default name in an abbreviated form, +.Pq e.g., Em fd0 . +Note that any geometry constraints of the device node +.Pq minor device number +are meaningless, since they're overridden by +.Nm fdformat . +.Pp +The options are as follows: +.Bl -tag -width Ds +.It Fl c Ar cyls +Number of cylinders +.Pq 40 or 80 . +.It Fl F Ar fillbyte +Use +.Ar fillbyte +as fill byte. +.It Fl g Ar gap3len +Length of gap at the end of any sector +.Pq Dq gap 3 . +.It Fl h Ar heads +Number of floppy heads +.Pq 1 or 2 . +.It Fl i Ar intleave +Sector interleave to be used. +.It Fl n +Don't verify floppy after formatting. +.It Fl q +Suppress any normal output from the command, and don't ask the +user for confirmation whether to format the floppy disk at +.Ar device_name . +.It Fl r Ar rate +Data transfer rate in kilobyte/sec +.Pq 250, 300, or 500 . +.It Fl S Ar secshft +Sector size code: 0 for 128, 1 for 256, and 2 for 512 byte +sectors. +.It Fl s Ar secs +Number of sectors per track +.Pq 9, 10, 15, or 18 . +.It Fl t Ar steps_per_track +Number of steps per track. +An alternate method to specify the +geometry data to write to the floppy disk. +.It Fl v +Don't format; verify only. +.El +.Pp +If the +.Fl q +flag has not been specified, the user is asked for confirmation +of the intended formatting process. +In order to continue, an answer of +.Dq y +must be given. +.Sh EXIT STATUS +An exit status of 0 is returned upon successful operation. +Exit status +1 is returned on any errors during floppy formatting, and an exit status +of 2 reflects invalid arguments given to the program (along with +appropriate information written to diagnostic output). +.Sh DIAGNOSTICS +Unless +.Fl q +has been specified, a single letter is printed to standard output +to inform the user about the progress of work. +First, an +.Dq F +is printed when the track(s) is being formatted, then a +.Dq V +while it's being verified, and if an error has been detected, it +will finally change to +.Dq E . +.Sh SEE ALSO +.Xr fdc 4 +.Sh HISTORY +.Nm fdformat +was developed for 386BSD 0.1 and upgraded to the new +.Xr fdc 4 +floppy disk driver. +It later became part of +.Fx 1.1 , +and was then ported to +.Ox 1.2 . +.Sh AUTHORS +.An -nosplit +The program was contributed by +.An Joerg Wunsch , +Dresden, with changes by +.An Serge Vakulenko +and +.An Andrew A. Chernov , +Moscow. diff --git a/static/openbsd/man1/fgen.1 b/static/openbsd/man1/fgen.1 new file mode 100644 index 00000000..6ef12f85 --- /dev/null +++ b/static/openbsd/man1/fgen.1 @@ -0,0 +1,71 @@ +.\" $OpenBSD: fgen.1,v 1.7 2023/01/04 14:58:04 jsg Exp $ +.\" $NetBSD: fgen.1,v 1.6 2001/06/13 10:46:05 wiz Exp $ +.\" +.\" Copyright (c) 1998 Eduardo Horvath, 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. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. +.\" +.Dd $Mdocdate: January 4 2023 $ +.Dt FGEN 1 +.Os +.Sh NAME +.Nm fgen +.Nd IEEE 1275 Open Firmware FCode Tokenizer +.Sh SYNOPSIS +.Nm +.Op Fl d Ar level +.Op Fl o Ar outfile +.Ar infile +.Sh DESCRIPTION +Reads Forth source and generates tokenized FCode object file. +.Pp +The options are as follows: +.Bl -tag -width Ds +.It Fl d Ar level +Sets the debug +.Ar level . +When the debug level is greater than zero, additional debugging messages +are printed to standard output. +Different levels of verbosity are available if compiled with DEBUG. +.It Fl o Ar outfile +Write output to +.Ar outfile +instead of standard output. +.El +.Sh AUTHORS +Written by +.An Eduardo E. Horvath Aq Mt eeh@one-o.com +.Sh BUGS +String escape sequences are not recognized so things such as +.Pp +.Li \&" foo \&"\&(01 02\&) \&"n \&" +.Pp +will result in the string +.Pp +.Dq foo \&"\&(01 02\&) \&"n . +.Pp +Hexadecimal numbers with dots in them such as +.Li 100.0000 +are not parsed. +.Pp +Permissions on the output file are often incorrect. +.Pp +Output to the standard output device can cause problems. diff --git a/static/openbsd/man1/file.1 b/static/openbsd/man1/file.1 new file mode 100644 index 00000000..53bfaa10 --- /dev/null +++ b/static/openbsd/man1/file.1 @@ -0,0 +1,130 @@ +.\" $OpenBSD: file.1,v 1.44 2015/12/24 11:45:34 jca Exp $ +.\" $FreeBSD: src/usr.bin/file/file.1,v 1.16 2000/03/01 12:19:39 sheldonh Exp $ +.\" +.\" Copyright (c) 2015 Nicholas Marriott +.\" Copyright (c) Ian F. Darwin 1986-1995. +.\" Software written by Ian F. Darwin and others; +.\" maintained 1995-present by Christos Zoulas and others. +.\" +.\" 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 immediately at the beginning of the file, without modification, +.\" 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. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. +.\" +.Dd $Mdocdate: December 24 2015 $ +.Dt FILE 1 +.Os +.Sh NAME +.Nm file +.Nd determine file type +.Sh SYNOPSIS +.Nm +.Op Fl bchiLsW +.Ar +.Sh DESCRIPTION +The +.Nm +utility tests each argument and attempts to determine its type. +Three sets of tests are performed: +.Bl -enum -offset Ds +.It +Filesystem tests, for example if a file is empty, or a special file such as a +socket or named pipe (FIFO). +.It +.Dq Magic +tests for data in particular fixed formats. +These are loaded from the +.Pa /etc/magic +file (or +.Pa ~/.magic +instead if it exists and +.Nm +is not running as root). +The file format is described in +.Xr magic 5 . +.It +Tests for text files such as plain ASCII or C programming language files. +.El +.Pp +The first test which succeeds causes the file type to be printed. +The type will often contain one of the words +.Em text +(contains only printing characters and is probably safe to read on an ASCII +terminal), +.Em executable +(the file contains a compiled executable program) +or +.Em data +meaning anything else. +.Pp +If +.Ar file +is a single dash +.Pq Sq - , +.Nm +reads from the standard input. +.Pp +The options are as follows: +.Bl -tag -width indent +.It Fl b , -brief +Does not prepend filenames to output lines. +.It Fl c +Prints a summary of the parsed magic file; usually used for debugging. +.It Fl h +Causes symlinks not to be followed. +This is the default. +.It Fl i , -mime , -mime-type +Outputs MIME type strings rather than the more +traditional human-readable ones. +Thus it may say +.Dq text/plain +rather than +.Dq ASCII text . +.It Fl L , -dereference +Causes symlinks to be followed. +.It Fl s +Attempts to read block and character device files, not just regular files. +.It Fl W +Displays warnings when parsing the magic file or applying its tests. +Usually used for debugging. +.El +.Sh FILES +.Bl -tag -width /etc/magic -compact +.It Pa /etc/magic +default magic file +.El +.Sh EXIT STATUS +.Ex -std file +.Sh SEE ALSO +.Xr magic 5 +.Sh AUTHORS +.An -nosplit +.Nm +commands have appeared in many previous versions of +.Ux . +This version was written by +.An Nicholas Marriott +for +.Ox 5.8 +to replace the previous version originally written by +.An Ian Darwin . +.Pp +There is a large number of contributors to the magic files; many are listed in +the source files. diff --git a/static/openbsd/man1/find.1 b/static/openbsd/man1/find.1 new file mode 100644 index 00000000..6d0f86cb --- /dev/null +++ b/static/openbsd/man1/find.1 @@ -0,0 +1,730 @@ +.\" $OpenBSD: find.1,v 1.101 2022/03/31 17:27:24 naddy Exp $ +.\" Copyright (c) 1990, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" the Institute of Electrical and Electronics Engineers, Inc. +.\" +.\" 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. 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. +.\" +.\" from: @(#)find.1 8.1 (Berkeley) 6/6/93 +.\" +.Dd $Mdocdate: March 31 2022 $ +.Dt FIND 1 +.Os +.Sh NAME +.Nm find +.Nd walk a file hierarchy +.Sh SYNOPSIS +.Nm find +.Op Fl dHhLXx +.Op Fl f Ar path +.Ar path ... +.Op Ar expression +.Sh DESCRIPTION +.Nm +recursively descends the directory tree for each +.Ar path +listed, evaluating an +.Ar expression +(composed of the +.Dq primaries +and +.Dq operators +listed below) in terms +of each file in the tree. +In the absence of an expression, +.Ic -print +is assumed. +If an expression is given, +but none of the primaries +.Ic -delete , +.Ic -exec , +.Ic -execdir , +.Ic -ls , +.Ic -ok , +.Ic -print , +or +.Ic -print0 +are specified, the given expression is effectively replaced by +.Cm \&( Ar given expression Cm \&) +.Ic -print . +.Pp +The options are as follows: +.Bl -tag -width Ds +.It Fl d +Causes +.Nm +to visit directories in post-order +i.e. all entries in a directory will be acted on before the directory itself. +By default, +.Nm +visits directories in pre-order i.e. before their contents. +.It Fl f Ar path +Specifies a file hierarchy for +.Nm +to traverse. +File hierarchies may be specified without the +.Fl f +option if they are given immediately after any other options. +.It Fl H +Causes the file information and file type (see +.Xr stat 2 ) +returned for each symbolic link encountered on the command line to be +those of the file referenced by the link, not the link itself. +If the referenced file does not exist, the file information and type will +be for the link itself. +File information of all symbolic links not on +the command line is that of the link itself. +.It Fl h +An alias for the +.Fl L +option. +This option exists for backwards compatibility. +.It Fl L +Causes the file information and file type (see +.Xr stat 2 ) +returned for each symbolic link to be those of the file referenced by the +link, not the link itself. +If the referenced file does not exist, the file information and type will +be for the link itself. +.It Fl X +Permit +.Nm +to be safely used in conjunction with +.Xr xargs 1 . +If a file name contains any of the delimiting characters used by xargs, +a diagnostic message is displayed on standard error, and the file +is skipped. +The delimiting characters include single +.Pq Ql ' +and double +.Pq Ql \&" +quotes, backslash +.Pq Ql \e , +space, tab, and newline +.Pq Sq \en +characters. +Consider using +.Fl print0 +instead. +.It Fl x +Prevents +.Nm +from descending into directories that have a device number different +than that of the file from which the descent began. +.El +.Pp +It is not an error to specify more than one of +the mutually exclusive options +.Fl H +and +.Fl L . +Where more than one of these options is specified, +the last option given overrides the others. +.Sh PRIMARIES +.Bl -tag -width Ds -compact +.It Ic -amin Ar n +True if the difference between the file last access time and the time +.Nm +was started, rounded up to the next full minute, is +.Ar n +minutes. +.Pp +.It Ic -anewer Ar file +True if the current file has a more recent last access time than +.Ar file . +.Pp +.It Ic -atime Ar n +True if the difference between the file last access time and the time +.Nm +was started, rounded up to the next full 24-hour period, is +.Ar n +24-hour periods. +.Pp +.It Ic -cmin Ar n +True if the difference between the time of last change of file status +information and the time +.Nm +was started, rounded up to the next full minute, is +.Ar n +minutes. +.Pp +.It Ic -cnewer Ar file +True if the current file has a more recent last change time than +.Ar file . +.Pp +.It Ic -ctime Ar n +True if the difference between the time of last change of file status +information and the time +.Nm +was started, rounded up to the next full 24-hour period, is +.Ar n +24-hour periods. +.Pp +.It Ic -delete +Delete found files and directories. +Always returns true. +This executes +from the current working directory as +.Nm +recurses down the tree. +It will not attempt to delete a filename with a +.Sq Pa / +character in its pathname relative to +.Sq Pa \&. +for security reasons. +Depth-first traversal processing is implied by this option. +The +.Ic -delete +primary will fail to delete a directory if it is not empty. +Following symlinks is incompatible with this option. +.Pp +.It Ic -depth +This primary always evaluates to true. +The same as specifying the +.Fl d +option. +.Pp +.It Ic -empty +True if the current file or directory is empty. +.Pp +.It Ic -exec Ar utility Oo Ar argument ... Oc \&; +.It Ic -exec Ar utility Oo Ar argument ... Oc {} + +Execute the specified +.Ar utility . +Optional arguments may be passed to the utility. +The expression must be terminated by a semicolon +.Pq Ql \&; +or a plus sign +.Pq Ql \&+ . +.Pp +If terminated by a semicolon, the +.Ar utility +is executed once per path. +This form of the primary evaluates to true if +.Ar utility +exits with a zero exit status. +If the string +.Qq {} +appears anywhere in the utility name or the +arguments, it is replaced by the pathname of the current file. +.Pp +If terminated by a plus sign, +the pathnames for which the +primary is evaluated are aggregated into sets, and +.Ar utility +will be invoked once per set, similar to +.Xr xargs 1 . +This form of the primary always evaluates to true. +If any invocation exits with a non-zero exit status, then +.Nm +will eventually do so as well, but this does not cause +.Nm +to exit early. +The string +.Qq {} +must appear, and must appear last. +Each set is limited to no more than 5,000 pathnames, +and is also limited such that the invocation of +.Ar utility +does not exceed +.Dv ARG_MAX . +.Pp +.It Ic -execdir Ar utility Oo Ar argument ... Oc \&; +Identical to the first form of the +.Ic -exec +primary with the exception that +.Ar utility +will be executed from the directory that holds +the current file. +The filename substituted for the string +.Qq {} +is not qualified. +.Pp +.It Xo +.Ic -flags +.Oo - Oc Ns Ar flags +.Xc +The +.Ar flags +are comma-separated symbolic file flags (see +.Xr chflags 1 +for a list of valid flag names). +If the flags are preceded by a dash +.Pq Sq - , +this primary evaluates to true if at least all specified +.Ar flags +are set in the file's flags. +If the flags are not preceded by a dash, this primary evaluates to true if the +flags specified exactly match those of the file. +.Pp +.It Ic -follow +This primary always evaluates to true. +The same as specifying the +.Fl L +option. +.Pp +.It Ic -fstype Ar type +True if the file is contained in a file system of type +.Ar type . +Two special file system types are recognized: +.Dq local +and +.Dq rdonly . +These do not describe actual file system types; +the former matches any file system physically mounted on the system where +.Nm +is being executed whereas the latter matches any file system which is +mounted read-only. +.Pp +.It Ic -group Ar gname +True if the file belongs to the group +.Ar gname . +If +.Ar gname +is numeric and there is no such group name, then +.Ar gname +is treated as a group ID. +.Pp +.It Ic -iname Ar pattern +Identical to the +.Ic -name +primary except that the matching is done in a case insensitive manner. +.Pp +.It Ic -inum Ar n +True if the file has inode number +.Ar n . +.Pp +.It Ic -links Ar n +True if the file has +.Ar n +links. +.Pp +.It Ic -ls +This primary always evaluates to true. +The following information for the current file is written to standard output: +its inode number, size in 512-byte blocks, file permissions, number of hard +links, owner, group, size in bytes, last modification time, and pathname. +If the file is a block or character special file, the major and minor numbers +will be displayed instead of the size in bytes. +If the file is a symbolic link, the pathname of the linked-to file will be +displayed preceded by +.Dq -> . +The format is identical to that produced by +.Dq ls -dils . +.Pp +.It Ic -maxdepth Ar n +True if the current search depth is less than or equal to what is specified in +.Ar n . +.Pp +.It Ic -mindepth Ar n +True if the current search depth is at least what is specified in +.Ar n . +.Pp +.It Ic -mmin Ar n +True if the difference between the file last modification time and the time +.Nm +was started, rounded up to the next full minute, is +.Ar n +minutes. +.Pp +.It Ic -mtime Ar n +True if the difference between the file last modification time and the time +.Nm +was started, rounded up to the next full 24-hour period, is +.Ar n +24-hour periods. +.Pp +.It Ic -name Ar pattern +True if the last component of the pathname being examined matches +.Ar pattern , +which may use any of the special characters documented in +.Xr glob 7 . +.Pp +.It Ic -newer Ar file +True if the current file has a more recent last modification time than +.Ar file . +.Pp +.It Ic -nogroup +True if the file belongs to an unknown group. +.Pp +.It Ic -nouser +True if the file belongs to an unknown user. +.Pp +.It Ic -ok Ar utility Oo Ar argument ... Oc \&; +Identical to the +.Ic -exec +primary with the exception that +.Nm +requests user affirmation for the execution of +.Ar utility +by printing +a message to the terminal and reading a response. +If the response is other than +.Sq y , +the command is not executed and the +value of the +.Ic ok +expression is false. +.Pp +.It Ic -path Ar pattern +True if the pathname being examined matches +.Ar pattern , +which may use any of the special characters documented in +.Xr glob 7 . +Slashes +.Pq Ql / +are treated as normal characters and do not have to be +matched explicitly. +.Pp +.It Xo +.Ic -perm +.Oo - Oc Ns Ar mode +.Xc +The +.Ar mode +may be either symbolic (see +.Xr chmod 1 ) +or an octal number. +If the mode is symbolic, a starting value of zero is assumed and the +mode sets or clears permissions without regard to the process's file mode +creation mask. +If the mode is octal, only bits 07777 +.Pq Dv S_ISUID | S_ISGID | S_ISTXT | S_IRWXU | S_IRWXG | S_IRWXO +of the file's mode bits participate +in the comparison. +If the mode is preceded by a dash +.Pq Sq - , +this primary evaluates to true +if at least all of the bits in the mode are set in the file's mode bits. +If the mode is not preceded by a dash, this primary evaluates to +true if the bits in the mode exactly match the file's mode bits. +Note, the first character of a symbolic mode may not be a dash. +.Pp +.It Ic -print +This primary always evaluates to true. +It prints the pathname of the current file to standard output, followed +by a newline +.Pq Ql \en +character. +.Pp +.It Ic -print0 +This primary always evaluates to true. +It prints the pathname of the current file to standard output, followed +by a null character, suitable for use with the +.Fl 0 +option to +.Xr xargs 1 . +.Pp +.It Ic -prune +This primary always evaluates to true. +It causes +.Nm +to not descend into the current file. +Note, the +.Ic -prune +primary has no effect if the +.Fl d +option was specified. +.Pp +.It Ic -size Ar n Ns Op Cm c +True if the file's size, rounded up, in 512-byte blocks is +.Ar n . +If +.Ar n +is followed by a +.Sq c , +then the primary is true if the +file's size is +.Ar n +bytes. +.Pp +.It Ic -type Ar t +True if the file is of the specified type. +Possible file types are as follows: +.Pp +.Bl -tag -width flag -offset indent -compact +.It Cm b +block special +.It Cm c +character special +.It Cm d +directory +.It Cm f +regular file +.It Cm l +symbolic link +.It Cm p +FIFO +.It Cm s +socket +.El +.Pp +.It Ic -user Ar uname +True if the file belongs to the user +.Ar uname . +If +.Ar uname +is numeric and there is no such user name, then +.Ar uname +is treated as a user ID. +.Pp +.It Ic -xdev +This primary always evaluates to true. +The same as specifying the +.Fl x +option. +.El +.Pp +All primaries which take a numeric argument allow the number to be +preceded by a plus sign +.Pq Ql + +or a minus sign +.Pq Ql - . +A preceding plus sign means +.Dq more than n , +a preceding minus sign means +.Dq less than n , +and neither means +.Dq exactly n . +Exceptions are the primaries +.Ic mindepth +and +.Ic maxdepth . +.Sh OPERATORS +The primaries may be combined using the following operators. +The operators are listed in order of decreasing precedence. +.Pp +.Bl -tag -width "(expression)" -compact +.It Cm \&( Ar expression Cm \&) +This evaluates to true if the parenthesized expression evaluates to +true. +.Pp +.It Cm \&! Ar expression +.It Cm -not Ar expression +This is the unary NOT operator. +It evaluates to true if the expression is false. +.Pp +.It Ar expression Cm -a Ar expression +.It Ar expression Cm -and Ar expression +.It Ar expression expression +The logical AND operator. +As it is implied by the juxtaposition of two expressions, it does not +have to be specified. +The expression evaluates to true if both expressions are true. +The second expression is not evaluated if the first expression is false. +.Pp +.It Ar expression Cm -o Ar expression +.It Ar expression Cm -or Ar expression +The logical OR operator. +The expression evaluates to true if either the first or the second expression +is true. +The second expression is not evaluated if the first expression is true. +.El +.Pp +Operators, primaries, and arguments to primaries must be separate +arguments to +.Nm find , +i.e. they should be separated by whitespace. +.Sh EXIT STATUS +The +.Nm +utility exits with a value of 0 on successful traversal of all path operands +or with a value >0 if an error occurred. +.Sh EXAMPLES +Print out a list of all the files whose names end in +.Dq \&.c : +.Pp +.Dl "$ find / -name '*.c'" +.Pp +Print out a list of all the files which are not both newer than +.Dq ttt +and owned by +.Dq wnj : +.Pp +.Dl "$ find / ! \e( -newer ttt -user wnj \e)" +.Pp +Print out a list of all core files on local file systems: +.Pp +.Dl "$ find / ! -fstype local -prune -o -name '*.core'" +.Pp +Find all files in +.Pa /usr/src +ending in a dot and single digit, but skip directory +.Pa /usr/src/gnu : +.Pp +.Dl "$ find /usr/src -path /usr/src/gnu -prune -o -name \e*.[0-9]" +.Pp +Find and remove all *.jpg and *.gif files under the current working +directory: +.Pp +.Dl "$ find . \e( -name \e*.jpg -o -name \e*.gif \e) -exec rm {} +" +or +.Dl "$ find . \e( -name \e*.jpg -o -name \e*.gif \e) -delete" +.Sh SEE ALSO +.Xr chflags 1 , +.Xr chmod 1 , +.Xr locate 1 , +.Xr ls 1 , +.Xr whereis 1 , +.Xr which 1 , +.Xr xargs 1 , +.Xr stat 2 , +.Xr fts_open 3 , +.Xr glob 7 , +.Xr symlink 7 +.Sh STANDARDS +The +.Nm +utility is compliant with the +.St -p1003.1-2008 +specification. +.Pp +The options +.Op Fl dfhXx , +primaries +.Ic -amin , +.Ic -anewer , +.Ic -cmin , +.Ic -cnewer , +.Ic -delete , +.Ic -empty , +.Ic -execdir , +.Ic -flags , +.Ic -follow , +.Ic -fstype , +.Ic -iname , +.Ic -inum , +.Ic -ls , +.Ic -maxdepth , +.Ic -mindepth , +.Ic -mmin , +and +.Ic -print0 , +and operators +.Fl and , +.Fl not , +and +.Fl or , +are extensions to that specification. +.Pp +Historically, the +.Fl d , +.Fl L , +and +.Fl x +options were implemented using the primaries +.Ic -depth , +.Ic -follow , +and +.Ic -xdev . +These primaries always evaluated to true. +As they were really global variables that took effect before the traversal +began, some legal expressions could have unexpected results. +An example is the expression +.Dq -print -o -depth . +As +.Cm -print +always evaluates to true, the standard order of evaluation +implies that +.Cm -depth +would never be evaluated. +This is not the case. +.Pp +Historic implementations of the +.Ic -exec +and +.Ic -ok +primaries did not replace the string +.Qq {} +in the utility name or the +utility arguments if it had preceding or following non-whitespace characters. +This version replaces it no matter where in the utility name or arguments +it appears. +.Sh HISTORY +A simple +.Nm +command appeared in +.At v1 +and was removed in +.At v3 . +A new +.Nm +command was written for the Programmer's Workbench (PWB) +and appeared in +.At v5 . +It was rewritten for +.Bx 4.3 Reno . +.Sh CAVEATS +The special characters used by +.Nm +are also special characters to many shell programs. +In particular, the characters +.Ql * , +.Ql \&[ , +.Ql \&] , +.Ql \&? , +.Ql \&( , +.Ql \&) , +.Ql \e , +and +.Ql \&; +may have to be escaped from the shell. +.Pp +As file names may contain whitespace and shell metacharacters, +passing the output of +.Nm +to other programs requires some care: +.Pp +.Dl "$ find . -name \e*.jpg | xargs rm" +or +.Dl "$ rm `find . -name \e*.jpg`" +.Pp +would, given files +.Dq important\ .jpg +and +.Dq important , +remove +.Dq important . +Use the +.Ic -print0 +or +.Ic -exec +primaries instead. +.Pp +As there is no delimiter separating options and file names or file +names and the +.Ar expression , +it is difficult to specify files named +.Dq -xdev +or +.Sq \&! . +These problems are handled by the +.Fl f +option and the +.Xr getopt 3 +.Sq -- +construct. diff --git a/static/openbsd/man1/finger.1 b/static/openbsd/man1/finger.1 new file mode 100644 index 00000000..d20540c7 --- /dev/null +++ b/static/openbsd/man1/finger.1 @@ -0,0 +1,224 @@ +.\" $OpenBSD: finger.1,v 1.19 2013/11/14 08:50:04 bentley Exp $ +.\" +.\" Copyright (c) 1989, 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. 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. +.\" +.\" from: @(#)finger.1 6.14 (Berkeley) 7/27/91 +.\" +.Dd $Mdocdate: November 14 2013 $ +.Dt FINGER 1 +.Os +.Sh NAME +.Nm finger +.Nd user information lookup program +.Sh SYNOPSIS +.Nm finger +.Op Fl hlMmops +.Op Ar user ... +.Nm finger +.Op Fl l +.Op Ar user@host ... +.Sh DESCRIPTION +The +.Nm +utility displays information about local and remote system users. +By default, the following information is displayed about each user +currently logged-in to the local host: +.Pp +.Bl -bullet -offset indent -compact +.It +login name +.It +user's full name +.It +associated terminal name +.It +idle time +.It +login time +.It +office location +.It +office phone +.El +.Pp +Idle time is in minutes if it is a single integer, hours and minutes +if a +.Ql \&: +is present, or days if a +.Sq d +is present. +Login time is displayed as the day name if less than six days, +else month, day, hours and minutes, unless +more than six months ago, in which case the year is displayed rather +than the hours and minutes. +.Pp +The names of terminals for which write permission is denied (see +.Xr mesg 1 ) +are prepended with an asterisk +.Pq Sq \&* . +Unknown devices as well as nonexistent idle and login times are +displayed as single asterisks. +.Pp +The options are as follows: +.Bl -tag -width Ds +.It Fl h +If the +.Fl s +option is also specified, the name of the remote host is displayed instead of +the office location and office phone. +.It Fl l +Long format. +Produces a multi-line format displaying all of the information available from +the +.Fl s +option as well as the user's home directory, home phone number, login +shell, mail status, and the contents of the +.Dq Pa .plan +and +.Dq Pa .project +files from the user's home directory. +.Pp +If idle time is at least a minute and less than a day, it is +presented in the form +.Dq hh:mm . +Idle times greater than a day are presented as +.Dq d day[s]hh:mm . +.Pp +Phone numbers specified as eleven digits are printed as +.Dq +N-NNN-NNN-NNNN . +Numbers specified as ten or seven digits are printed as the appropriate +subset of that string. +Numbers specified as five digits are printed as +.Dq xN-NNNN . +Numbers specified as four digits are printed as +.Dq xNNNN . +.Pp +If write permission is denied to the device, the phrase +.Dq (messages off) +is appended to the line containing the device name. +One entry per user is displayed with the +.Fl l +option; if a user is logged on multiple times, terminal information +is repeated once per login. +.Pp +Mail status is shown as +.Dq \&No Mail. +if there is no mail at all, +.Do +Mail last read DDD MMM ## HH:MM YYYY (TZ) +.Dc +if the person has looked +at their mailbox since new mail arriving, or +.Dq New mail received ... , +.Dq Unread since ... +if they have new mail. +.It Fl M +Enable matching of +.Ar user +names. +This is disabled by default on systems running YP or with large +password databases. +.It Fl m +Prevent matching of +.Ar user +names. +.Ar User +is usually a login name; however, matching will also be done on the +users' real names, unless the +.Fl m +option is supplied. +All name matching performed by +.Nm +is case insensitive. +.It Fl o +If the +.Fl s +option is also specified, the office location and office phone is displayed +instead of the name of the remote host. +.It Fl p +Prevents +the +.Fl l +option of +.Nm +from displaying the contents of the +.Dq Pa .plan +and +.Dq Pa .project +files. +.It Fl s +Short format (default). +The information as described above is displayed in a columnar fashion. +.El +.Pp +If no options are specified, +.Nm +defaults to the +.Fl l +style output if operands are provided, otherwise to the +.Fl s +style. +Note that some fields may be missing, in either format, if information +is not available for them. +.Pp +.Nm +may be used to look up users on a remote machine. +The format is to specify a +.Ar user +as +.Dq Li user@host , +or +.Dq Li @host , +where the default output +format for the former is the +.Fl l +style, and the default output format for the latter is the +.Fl s +style. +The +.Fl l +option is the only option that may be passed to a remote machine. +.Sh SEE ALSO +.Xr chpass 1 , +.Xr w 1 , +.Xr who 1 , +.Xr fingerd 8 +.Sh STANDARDS +.Rs +.%A D. Zimmerman +.%D December 1991 +.%R RFC 1288 +.%T The Finger User Information Protocol +.Re +.Sh HISTORY +The +.Nm +command appeared in +.Bx 2 . +.Sh AUTHORS +.An Earl T. Cohen . diff --git a/static/openbsd/man1/flex.1 b/static/openbsd/man1/flex.1 new file mode 100644 index 00000000..d06f2ffd --- /dev/null +++ b/static/openbsd/man1/flex.1 @@ -0,0 +1,4427 @@ +.\" $OpenBSD: flex.1,v 1.47 2025/05/22 07:31:18 bentley Exp $ +.\" +.\" Copyright (c) 1990 The Regents of the University of California. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" Vern Paxson. +.\" +.\" The United States Government has rights in this work pursuant +.\" to contract no. DE-AC03-76SF00098 between the United States +.\" Department of Energy and the University of California. +.\" +.\" 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. +.\" +.\" 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 ``AS IS'' AND WITHOUT ANY EXPRESS OR +.\" IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED +.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE. +.\" +.Dd $Mdocdate: May 22 2025 $ +.Dt FLEX 1 +.Os +.Sh NAME +.Nm flex , +.Nm flex++ , +.Nm lex +.Nd fast lexical analyzer generator +.Sh SYNOPSIS +.Nm +.Bk -words +.Op Fl 78BbdFfhIiLlnpsTtVvw+? +.Op Fl C Ns Op Cm aeFfmr +.Op Fl Fl help +.Op Fl Fl version +.Op Fl o Ns Ar output +.Op Fl P Ns Ar prefix +.Op Fl S Ns Ar skeleton +.Op Ar +.Ek +.Sh DESCRIPTION +.Nm +is a tool for generating +.Em scanners : +programs which recognize lexical patterns in text. +.Nm +reads the given input files, or its standard input if no file names are given, +for a description of a scanner to generate. +The description is in the form of pairs of regular expressions and C code, +called +.Em rules . +.Nm +generates as output a C source file, +.Pa lex.yy.c , +which defines a routine +.Fn yylex . +This file is compiled and linked with the +.Fl lfl +library to produce an executable. +When the executable is run, it analyzes its input for occurrences +of the regular expressions. +Whenever it finds one, it executes the corresponding C code. +.Pp +.Nm lex +is a synonym for +.Nm flex . +.Nm flex++ +is a synonym for +.Nm +.Fl + . +.Pp +The manual includes both tutorial and reference sections: +.Bl -ohang +.It Sy Some Simple Examples +.It Sy Format of the Input File +.It Sy Patterns +The extended regular expressions used by +.Nm . +.It Sy How the Input is Matched +The rules for determining what has been matched. +.It Sy Actions +How to specify what to do when a pattern is matched. +.It Sy The Generated Scanner +Details regarding the scanner that +.Nm +produces; +how to control the input source. +.It Sy Start Conditions +Introducing context into scanners, and managing +.Qq mini-scanners . +.It Sy Multiple Input Buffers +How to manipulate multiple input sources; +how to scan from strings instead of files. +.It Sy End-of-File Rules +Special rules for matching the end of the input. +.It Sy Miscellaneous Macros +A summary of macros available to the actions. +.It Sy Values Available to the User +A summary of values available to the actions. +.It Sy Interfacing with Yacc +Connecting flex scanners together with +.Xr yacc 1 +parsers. +.It Sy Options +.Nm +command-line options, and the +.Dq %option +directive. +.It Sy Performance Considerations +How to make scanners go as fast as possible. +.It Sy Generating C++ Scanners +The +.Pq experimental +facility for generating C++ scanner classes. +.It Sy Incompatibilities with Lex and POSIX +How +.Nm +differs from +.At +.Nm lex +and the +.Tn POSIX +.Nm lex +standard. +.It Sy Files +Files used by +.Nm . +.It Sy Diagnostics +Those error messages produced by +.Nm +.Pq or scanners it generates +whose meanings might not be apparent. +.It Sy See Also +Other documentation, related tools. +.It Sy Authors +Includes contact information. +.It Sy Bugs +Known problems with +.Nm . +.El +.Sh SOME SIMPLE EXAMPLES +First some simple examples to get the flavor of how one uses +.Nm . +The following +.Nm +input specifies a scanner which whenever it encounters the string +.Qq username +will replace it with the user's login name: +.Bd -literal -offset indent +%% +username printf("%s", getlogin()); +.Ed +.Pp +By default, any text not matched by a +.Nm +scanner is copied to the output, so the net effect of this scanner is +to copy its input file to its output with each occurrence of +.Qq username +expanded. +In this input, there is just one rule. +.Qq username +is the +.Em pattern +and the +.Qq printf +is the +.Em action . +The +.Qq %% +marks the beginning of the rules. +.Pp +Here's another simple example: +.Bd -literal -offset indent +%{ +int num_lines = 0, num_chars = 0; +%} + +%% +\en ++num_lines; ++num_chars; +\&. ++num_chars; + +%% +main() +{ + yylex(); + printf("# of lines = %d, # of chars = %d\en", + num_lines, num_chars); +} +.Ed +.Pp +This scanner counts the number of characters and the number +of lines in its input +(it produces no output other than the final report on the counts). +The first line declares two globals, +.Qq num_lines +and +.Qq num_chars , +which are accessible both inside +.Fn yylex +and in the +.Fn main +routine declared after the second +.Qq %% . +There are two rules, one which matches a newline +.Pq \&"\en\&" +and increments both the line count and the character count, +and one which matches any character other than a newline +(indicated by the +.Qq \&. +regular expression). +.Pp +A somewhat more complicated example: +.Bd -literal -offset indent +/* scanner for a toy Pascal-like language */ + +DIGIT [0-9] +ID [a-z][a-z0-9]* + +%% + +{DIGIT}+ { + printf("An integer: %s\en", yytext); +} + +{DIGIT}+"."{DIGIT}* { + printf("A float: %s\en", yytext); +} + +if|then|begin|end|procedure|function { + printf("A keyword: %s\en", yytext); +} + +{ID} printf("An identifier: %s\en", yytext); + +"+"|"-"|"*"|"/" printf("An operator: %s\en", yytext); + +"{"[^}\en]*"}" /* eat up one-line comments */ + +[ \et\en]+ /* eat up whitespace */ + +\&. printf("Unrecognized character: %s\en", yytext); + +%% + +int +main(int argc, char *argv[]) +{ + ++argv; --argc; /* skip over program name */ + if (argc > 0) + yyin = fopen(argv[0], "r"); + else + yyin = stdin; + + yylex(); +} +.Ed +.Pp +This is the beginnings of a simple scanner for a language like Pascal. +It identifies different types of +.Em tokens +and reports on what it has seen. +.Pp +The details of this example will be explained in the following sections. +.Sh FORMAT OF THE INPUT FILE +The +.Nm +input file consists of three sections, separated by a line with just +.Qq %% +in it: +.Bd -unfilled -offset indent +definitions +%% +rules +%% +user code +.Ed +.Pp +The +.Em definitions +section contains declarations of simple +.Em name +definitions to simplify the scanner specification, and declarations of +.Em start conditions , +which are explained in a later section. +.Pp +Name definitions have the form: +.Pp +.D1 name definition +.Pp +The +.Qq name +is a word beginning with a letter or an underscore +.Pq Sq _ +followed by zero or more letters, digits, +.Sq _ , +or +.Sq - +.Pq dash . +The definition is taken to begin at the first non-whitespace character +following the name and continuing to the end of the line. +The definition can subsequently be referred to using +.Qq {name} , +which will expand to +.Qq (definition) . +For example: +.Bd -literal -offset indent +DIGIT [0-9] +ID [a-z][a-z0-9]* +.Ed +.Pp +This defines +.Qq DIGIT +to be a regular expression which matches a single digit, and +.Qq ID +to be a regular expression which matches a letter +followed by zero-or-more letters-or-digits. +A subsequent reference to +.Pp +.Dl {DIGIT}+"."{DIGIT}* +.Pp +is identical to +.Pp +.Dl ([0-9])+"."([0-9])* +.Pp +and matches one-or-more digits followed by a +.Sq .\& +followed by zero-or-more digits. +.Pp +The +.Em rules +section of the +.Nm +input contains a series of rules of the form: +.Pp +.Dl pattern action +.Pp +The pattern must be unindented and the action must begin +on the same line. +.Pp +See below for a further description of patterns and actions. +.Pp +Finally, the user code section is simply copied to +.Pa lex.yy.c +verbatim. +It is used for companion routines which call or are called by the scanner. +The presence of this section is optional; +if it is missing, the second +.Qq %% +in the input file may be skipped too. +.Pp +In the definitions and rules sections, any indented text or text enclosed in +.Sq %{ +and +.Sq %} +is copied verbatim to the output +.Pq with the %{}'s removed . +The %{}'s must appear unindented on lines by themselves. +.Pp +In the rules section, +any indented or %{} text appearing before the first rule may be used to +declare variables which are local to the scanning routine and +.Pq after the declarations +code which is to be executed whenever the scanning routine is entered. +Other indented or %{} text in the rule section is still copied to the output, +but its meaning is not well-defined and it may well cause compile-time +errors (this feature is present for +.Tn POSIX +compliance; see below for other such features). +.Pp +In the definitions section +.Pq but not in the rules section , +an unindented comment +(i.e., a line beginning with +.Qq /* ) +is also copied verbatim to the output up to the next +.Qq */ . +.Sh PATTERNS +The patterns in the input are written using an extended set of regular +expressions. +These are: +.Bl -tag -width "XXXXXXXX" +.It x +Match the character +.Sq x . +.It .\& +Any character +.Pq byte +except newline. +.It [xyz] +A +.Qq character class ; +in this case, the pattern matches either an +.Sq x , +a +.Sq y , +or a +.Sq z . +.It [abj-oZ] +A +.Qq character class +with a range in it; matches an +.Sq a , +a +.Sq b , +any letter from +.Sq j +through +.Sq o , +or a +.Sq Z . +.It [^A-Z] +A +.Qq negated character class , +i.e., any character but those in the class. +In this case, any character EXCEPT an uppercase letter. +.It [^A-Z\en] +Any character EXCEPT an uppercase letter or a newline. +.It r* +Zero or more r's, where +.Sq r +is any regular expression. +.It r+ +One or more r's. +.It r? +Zero or one r's (that is, +.Qq an optional r ) . +.It r{2,5} +Anywhere from two to five r's. +.It r{2,} +Two or more r's. +.It r{4} +Exactly 4 r's. +.It {name} +The expansion of the +.Qq name +definition +.Pq see above . +.It \&"[xyz]\e\&"foo\&" +The literal string: [xyz]"foo. +.It \eX +If +.Sq X +is an +.Sq a , +.Sq b , +.Sq f , +.Sq n , +.Sq r , +.Sq t , +or +.Sq v , +then the ANSI-C interpretation of +.Sq \eX . +Otherwise, a literal +.Sq X +(used to escape operators such as +.Sq * ) . +.It \e0 +A NUL character +.Pq ASCII code 0 . +.It \e123 +The character with octal value 123. +.It \ex2a +The character with hexadecimal value 2a. +.It (r) +Match an +.Sq r ; +parentheses are used to override precedence +.Pq see below . +.It rs +The regular expression +.Sq r +followed by the regular expression +.Sq s ; +called +.Qq concatenation . +.It r|s +Either an +.Sq r +or an +.Sq s . +.It r/s +An +.Sq r , +but only if it is followed by an +.Sq s . +The text matched by +.Sq s +is included when determining whether this rule is the +.Qq longest match , +but is then returned to the input before the action is executed. +So the action only sees the text matched by +.Sq r . +This type of pattern is called +.Qq trailing context . +(There are some combinations of r/s that +.Nm +cannot match correctly; see notes in the +.Sx BUGS +section below regarding +.Qq dangerous trailing context . ) +.It ^r +An +.Sq r , +but only at the beginning of a line +(i.e., just starting to scan, or right after a newline has been scanned). +.It r$ +An +.Sq r , +but only at the end of a line +.Pq i.e., just before a newline . +Equivalent to +.Qq r/\en . +.Pp +Note that +.Nm flex Ns 's +notion of +.Qq newline +is exactly whatever the C compiler used to compile +.Nm +interprets +.Sq \en +as. +.\" In particular, on some DOS systems you must either filter out \er's in the +.\" input yourself, or explicitly use r/\er\en for +.\" .Qq r$ . +.It r +An +.Sq r , +but only in start condition +.Sq s +.Pq see below for discussion of start conditions . +.It r +The same, but in any of start conditions s1, s2, or s3. +.It <*>r +An +.Sq r +in any start condition, even an exclusive one. +.It <> +An end-of-file. +.It <> +An end-of-file when in start condition s1 or s2. +.El +.Pp +Note that inside of a character class, all regular expression operators +lose their special meaning except escape +.Pq Sq \e +and the character class operators, +.Sq - , +.Sq ]\& , +and, at the beginning of the class, +.Sq ^ . +.Pp +The regular expressions listed above are grouped according to +precedence, from highest precedence at the top to lowest at the bottom. +Those grouped together have equal precedence. +For example, +.Pp +.D1 foo|bar* +.Pp +is the same as +.Pp +.D1 (foo)|(ba(r*)) +.Pp +since the +.Sq * +operator has higher precedence than concatenation, +and concatenation higher than alternation +.Pq Sq |\& . +This pattern therefore matches +.Em either +the string +.Qq foo +.Em or +the string +.Qq ba +followed by zero-or-more r's. +To match +.Qq foo +or zero-or-more "bar"'s, +use: +.Pp +.D1 foo|(bar)* +.Pp +and to match zero-or-more "foo"'s-or-"bar"'s: +.Pp +.D1 (foo|bar)* +.Pp +In addition to characters and ranges of characters, character classes +can also contain character class +.Em expressions . +These are expressions enclosed inside +.Sq [: +and +.Sq :] +delimiters (which themselves must appear between the +.Sq \&[ +and +.Sq ]\& +of the +character class; other elements may occur inside the character class, too). +The valid expressions are: +.Bd -unfilled -offset indent +[:alnum:] [:alpha:] [:blank:] +[:cntrl:] [:digit:] [:graph:] +[:lower:] [:print:] [:punct:] +[:space:] [:upper:] [:xdigit:] +.Ed +.Pp +These expressions all designate a set of characters equivalent to +the corresponding standard C +.Fn isXXX +function. +For example, [:alnum:] designates those characters for which +.Xr isalnum 3 +returns true \- i.e., any alphabetic or numeric. +Some systems don't provide +.Xr isblank 3 , +so +.Nm +defines [:blank:] as a blank or a tab. +.Pp +For example, the following character classes are all equivalent: +.Bd -unfilled -offset indent +[[:alnum:]] +[[:alpha:][:digit:]] +[[:alpha:]0-9] +[a-zA-Z0-9] +.Ed +.Pp +If the scanner is case-insensitive (the +.Fl i +flag), then [:upper:] and [:lower:] are equivalent to [:alpha:]. +.Pp +Some notes on patterns: +.Bl -dash +.It +A negated character class such as the example +.Qq [^A-Z] +above will match a newline unless "\en" +.Pq or an equivalent escape sequence +is one of the characters explicitly present in the negated character class +(e.g., +.Qq [^A-Z\en] ) . +This is unlike how many other regular expression tools treat negated character +classes, but unfortunately the inconsistency is historically entrenched. +Matching newlines means that a pattern like +.Qq [^"]* +can match the entire input unless there's another quote in the input. +.It +A rule can have at most one instance of trailing context +(the +.Sq / +operator or the +.Sq $ +operator). +The start condition, +.Sq ^ , +and +.Qq <> +patterns can only occur at the beginning of a pattern and, as well as with +.Sq / +and +.Sq $ , +cannot be grouped inside parentheses. +A +.Sq ^ +which does not occur at the beginning of a rule or a +.Sq $ +which does not occur at the end of a rule loses its special properties +and is treated as a normal character. +.It +The following are illegal: +.Bd -unfilled -offset indent +foo/bar$ +foobar +.Ed +.Pp +Note that the first of these, can be written +.Qq foo/bar\en . +.It +The following will result in +.Sq $ +or +.Sq ^ +being treated as a normal character: +.Bd -unfilled -offset indent +foo|(bar$) +foo|^bar +.Ed +.Pp +If what's wanted is a +.Qq foo +or a bar-followed-by-a-newline, the following could be used +(the special +.Sq |\& +action is explained below): +.Bd -unfilled -offset indent +foo | +bar$ /* action goes here */ +.Ed +.Pp +A similar trick will work for matching a foo or a +bar-at-the-beginning-of-a-line. +.El +.Sh HOW THE INPUT IS MATCHED +When the generated scanner is run, +it analyzes its input looking for strings which match any of its patterns. +If it finds more than one match, +it takes the one matching the most text +(for trailing context rules, this includes the length of the trailing part, +even though it will then be returned to the input). +If it finds two or more matches of the same length, +the rule listed first in the +.Nm +input file is chosen. +.Pp +Once the match is determined, the text corresponding to the match +(called the +.Em token ) +is made available in the global character pointer +.Fa yytext , +and its length in the global integer +.Fa yyleng . +The +.Em action +corresponding to the matched pattern is then executed +.Pq a more detailed description of actions follows , +and then the remaining input is scanned for another match. +.Pp +If no match is found, then the default rule is executed: +the next character in the input is considered matched and +copied to the standard output. +Thus, the simplest legal +.Nm +input is: +.Pp +.D1 %% +.Pp +which generates a scanner that simply copies its input +.Pq one character at a time +to its output. +.Pp +Note that +.Fa yytext +can be defined in two different ways: +either as a character pointer or as a character array. +Which definition +.Nm +uses can be controlled by including one of the special directives +.Dq %pointer +or +.Dq %array +in the first +.Pq definitions +section of flex input. +The default is +.Dq %pointer , +unless the +.Fl l +.Nm lex +compatibility option is used, in which case +.Fa yytext +will be an array. +The advantage of using +.Dq %pointer +is substantially faster scanning and no buffer overflow when matching +very large tokens +.Pq unless not enough dynamic memory is available . +The disadvantage is that actions are restricted in how they can modify +.Fa yytext +.Pq see the next section , +and calls to the +.Fn unput +function destroy the present contents of +.Fa yytext , +which can be a considerable porting headache when moving between different +.Nm lex +versions. +.Pp +The advantage of +.Dq %array +is that +.Fa yytext +can be modified as much as wanted, and calls to +.Fn unput +do not destroy +.Fa yytext +.Pq see below . +Furthermore, existing +.Nm lex +programs sometimes access +.Fa yytext +externally using declarations of the form: +.Pp +.D1 extern char yytext[]; +.Pp +This definition is erroneous when used with +.Dq %pointer , +but correct for +.Dq %array . +.Pp +.Dq %array +defines +.Fa yytext +to be an array of +.Dv YYLMAX +characters, which defaults to a fairly large value. +The size can be changed by simply #define'ing +.Dv YYLMAX +to a different value in the first section of +.Nm +input. +As mentioned above, with +.Dq %pointer +yytext grows dynamically to accommodate large tokens. +While this means a +.Dq %pointer +scanner can accommodate very large tokens +.Pq such as matching entire blocks of comments , +bear in mind that each time the scanner must resize +.Fa yytext +it also must rescan the entire token from the beginning, so matching such +tokens can prove slow. +.Fa yytext +presently does not dynamically grow if a call to +.Fn unput +results in too much text being pushed back; instead, a run-time error results. +.Pp +Also note that +.Dq %array +cannot be used with C++ scanner classes +.Pq the c++ option; see below . +.Sh ACTIONS +Each pattern in a rule has a corresponding action, +which can be any arbitrary C statement. +The pattern ends at the first non-escaped whitespace character; +the remainder of the line is its action. +If the action is empty, +then when the pattern is matched the input token is simply discarded. +For example, here is the specification for a program +which deletes all occurrences of +.Qq zap me +from its input: +.Bd -literal -offset indent +%% +"zap me" +.Ed +.Pp +(It will copy all other characters in the input to the output since +they will be matched by the default rule.) +.Pp +Here is a program which compresses multiple blanks and tabs down to +a single blank, and throws away whitespace found at the end of a line: +.Bd -literal -offset indent +%% +[ \et]+ putchar(' '); +[ \et]+$ /* ignore this token */ +.Ed +.Pp +If the action contains a +.Sq { , +then the action spans till the balancing +.Sq } +is found, and the action may cross multiple lines. +.Nm +knows about C strings and comments and won't be fooled by braces found +within them, but also allows actions to begin with +.Sq %{ +and will consider the action to be all the text up to the next +.Sq %} +.Pq regardless of ordinary braces inside the action . +.Pp +An action consisting solely of a vertical bar +.Pq Sq |\& +means +.Qq same as the action for the next rule . +See below for an illustration. +.Pp +Actions can include arbitrary C code, +including return statements to return a value to whatever routine called +.Fn yylex . +Each time +.Fn yylex +is called, it continues processing tokens from where it last left off +until it either reaches the end of the file or executes a return. +.Pp +Actions are free to modify +.Fa yytext +except for lengthening it +(adding characters to its end \- these will overwrite later characters in the +input stream). +This, however, does not apply when using +.Dq %array +.Pq see above ; +in that case, +.Fa yytext +may be freely modified in any way. +.Pp +Actions are free to modify +.Fa yyleng +except they should not do so if the action also includes use of +.Fn yymore +.Pq see below . +.Pp +There are a number of special directives which can be included within +an action: +.Bl -tag -width Ds +.It ECHO +Copies +.Fa yytext +to the scanner's output. +.It BEGIN +Followed by the name of a start condition, places the scanner in the +corresponding start condition +.Pq see below . +.It REJECT +Directs the scanner to proceed on to the +.Qq second best +rule which matched the input +.Pq or a prefix of the input . +The rule is chosen as described above in +.Sx HOW THE INPUT IS MATCHED , +and +.Fa yytext +and +.Fa yyleng +set up appropriately. +It may either be one which matched as much text +as the originally chosen rule but came later in the +.Nm +input file, or one which matched less text. +For example, the following will both count the +words in the input and call the routine +.Fn special +whenever +.Qq frob +is seen: +.Bd -literal -offset indent +int word_count = 0; +%% + +frob special(); REJECT; +[^ \et\en]+ ++word_count; +.Ed +.Pp +Without the +.Em REJECT , +any "frob"'s in the input would not be counted as words, +since the scanner normally executes only one action per token. +Multiple +.Em REJECT Ns 's +are allowed, +each one finding the next best choice to the currently active rule. +For example, when the following scanner scans the token +.Qq abcd , +it will write +.Qq abcdabcaba +to the output: +.Bd -literal -offset indent +%% +a | +ab | +abc | +abcd ECHO; REJECT; +\&.|\en /* eat up any unmatched character */ +.Ed +.Pp +(The first three rules share the fourth's action since they use +the special +.Sq |\& +action.) +.Em REJECT +is a particularly expensive feature in terms of scanner performance; +if it is used in any of the scanner's actions it will slow down +all of the scanner's matching. +Furthermore, +.Em REJECT +cannot be used with the +.Fl Cf +or +.Fl CF +options +.Pq see below . +.Pp +Note also that unlike the other special actions, +.Em REJECT +is a +.Em branch ; +code immediately following it in the action will not be executed. +.It yymore() +Tells the scanner that the next time it matches a rule, the corresponding +token should be appended onto the current value of +.Fa yytext +rather than replacing it. +For example, given the input +.Qq mega-kludge +the following will write +.Qq mega-mega-kludge +to the output: +.Bd -literal -offset indent +%% +mega- ECHO; yymore(); +kludge ECHO; +.Ed +.Pp +First +.Qq mega- +is matched and echoed to the output. +Then +.Qq kludge +is matched, but the previous +.Qq mega- +is still hanging around at the beginning of +.Fa yytext +so the +.Em ECHO +for the +.Qq kludge +rule will actually write +.Qq mega-kludge . +.Pp +Two notes regarding use of +.Fn yymore : +First, +.Fn yymore +depends on the value of +.Fa yyleng +correctly reflecting the size of the current token, so +.Fa yyleng +must not be modified when using +.Fn yymore . +Second, the presence of +.Fn yymore +in the scanner's action entails a minor performance penalty in the +scanner's matching speed. +.It yyless(n) +Returns all but the first +.Ar n +characters of the current token back to the input stream, where they +will be rescanned when the scanner looks for the next match. +.Fa yytext +and +.Fa yyleng +are adjusted appropriately (e.g., +.Fa yyleng +will now be equal to +.Ar n ) . +For example, on the input +.Qq foobar +the following will write out +.Qq foobarbar : +.Bd -literal -offset indent +%% +foobar ECHO; yyless(3); +[a-z]+ ECHO; +.Ed +.Pp +An argument of 0 to +.Fa yyless +will cause the entire current input string to be scanned again. +Unless how the scanner will subsequently process its input has been changed +(using +.Em BEGIN , +for example), +this will result in an endless loop. +.Pp +Note that +.Fa yyless +is a macro and can only be used in the +.Nm +input file, not from other source files. +.It unput(c) +Puts the character +.Ar c +back into the input stream. +It will be the next character scanned. +The following action will take the current token and cause it +to be rescanned enclosed in parentheses. +.Bd -literal -offset indent +{ + int i; + char *yycopy; + + /* Copy yytext because unput() trashes yytext */ + if ((yycopy = strdup(yytext)) == NULL) + err(1, NULL); + unput(')'); + for (i = yyleng - 1; i >= 0; --i) + unput(yycopy[i]); + unput('('); + free(yycopy); +} +.Ed +.Pp +Note that since each +.Fn unput +puts the given character back at the beginning of the input stream, +pushing back strings must be done back-to-front. +.Pp +An important potential problem when using +.Fn unput +is that if using +.Dq %pointer +.Pq the default , +a call to +.Fn unput +destroys the contents of +.Fa yytext , +starting with its rightmost character and devouring one character to +the left with each call. +If the value of +.Fa yytext +should be preserved after a call to +.Fn unput +.Pq as in the above example , +it must either first be copied elsewhere, or the scanner must be built using +.Dq %array +instead (see +.Sx HOW THE INPUT IS MATCHED ) . +.Pp +Finally, note that EOF cannot be put back +to attempt to mark the input stream with an end-of-file. +.It input() +Reads the next character from the input stream. +For example, the following is one way to eat up C comments: +.Bd -literal -offset indent +%% +"/*" { + int c; + + for (;;) { + while ((c = input()) != '*' && c != EOF) + ; /* eat up text of comment */ + + if (c == '*') { + while ((c = input()) == '*') + ; + if (c == '/') + break; /* found the end */ + } + + if (c == EOF) { + errx(1, "EOF in comment"); + break; + } + } +} +.Ed +.Pp +(Note that if the scanner is compiled using C++, then +.Fn input +is instead referred to as +.Fn yyinput , +in order to avoid a name clash with the C++ stream by the name of input.) +.It YY_FLUSH_BUFFER +Flushes the scanner's internal buffer +so that the next time the scanner attempts to match a token, +it will first refill the buffer using +.Dv YY_INPUT +(see +.Sx THE GENERATED SCANNER , +below). +This action is a special case of the more general +.Fn yy_flush_buffer +function, described below in the section +.Sx MULTIPLE INPUT BUFFERS . +.It yyterminate() +Can be used in lieu of a return statement in an action. +It terminates the scanner and returns a 0 to the scanner's caller, indicating +.Qq all done . +By default, +.Fn yyterminate +is also called when an end-of-file is encountered. +It is a macro and may be redefined. +.El +.Sh THE GENERATED SCANNER +The output of +.Nm +is the file +.Pa lex.yy.c , +which contains the scanning routine +.Fn yylex , +a number of tables used by it for matching tokens, +and a number of auxiliary routines and macros. +By default, +.Fn yylex +is declared as follows: +.Bd -unfilled -offset indent +int yylex() +{ + ... various definitions and the actions in here ... +} +.Ed +.Pp +(If the environment supports function prototypes, then it will +be "int yylex(void)".) +This definition may be changed by defining the +.Dv YY_DECL +macro. +For example: +.Bd -literal -offset indent +#define YY_DECL float lexscan(a, b) float a, b; +.Ed +.Pp +would give the scanning routine the name +.Em lexscan , +returning a float, and taking two floats as arguments. +Note that if arguments are given to the scanning routine using a +K&R-style/non-prototyped function declaration, +the definition must be terminated with a semi-colon +.Pq Sq ;\& . +.Pp +Whenever +.Fn yylex +is called, it scans tokens from the global input file +.Pa yyin +.Pq which defaults to stdin . +It continues until it either reaches an end-of-file +.Pq at which point it returns the value 0 +or one of its actions executes a +.Em return +statement. +.Pp +If the scanner reaches an end-of-file, subsequent calls are undefined +unless either +.Em yyin +is pointed at a new input file +.Pq in which case scanning continues from that file , +or +.Fn yyrestart +is called. +.Fn yyrestart +takes one argument, a +.Fa FILE * +pointer (which can be nil, if +.Dv YY_INPUT +has been set up to scan from a source other than +.Em yyin ) , +and initializes +.Em yyin +for scanning from that file. +Essentially there is no difference between just assigning +.Em yyin +to a new input file or using +.Fn yyrestart +to do so; the latter is available for compatibility with previous versions of +.Nm , +and because it can be used to switch input files in the middle of scanning. +It can also be used to throw away the current input buffer, +by calling it with an argument of +.Em yyin ; +but better is to use +.Dv YY_FLUSH_BUFFER +.Pq see above . +Note that +.Fn yyrestart +does not reset the start condition to +.Em INITIAL +(see +.Sx START CONDITIONS , +below). +.Pp +If +.Fn yylex +stops scanning due to executing a +.Em return +statement in one of the actions, the scanner may then be called again and it +will resume scanning where it left off. +.Pp +By default +.Pq and for purposes of efficiency , +the scanner uses block-reads rather than simple +.Xr getc 3 +calls to read characters from +.Em yyin . +The nature of how it gets its input can be controlled by defining the +.Dv YY_INPUT +macro. +.Dv YY_INPUT Ns 's +calling sequence is +.Qq YY_INPUT(buf,result,max_size) . +Its action is to place up to +.Dv max_size +characters in the character array +.Em buf +and return in the integer variable +.Em result +either the number of characters read or the constant +.Dv YY_NULL +(0 on +.Ux +systems) +to indicate +.Dv EOF . +The default +.Dv YY_INPUT +reads from the global file-pointer +.Qq yyin . +.Pp +A sample definition of +.Dv YY_INPUT +.Pq in the definitions section of the input file : +.Bd -unfilled -offset indent +%{ +#define YY_INPUT(buf,result,max_size) \e +{ \e + int c = getchar(); \e + result = (c == EOF) ? YY_NULL : (buf[0] = c, 1); \e +} +%} +.Ed +.Pp +This definition will change the input processing to occur +one character at a time. +.Pp +When the scanner receives an end-of-file indication from +.Dv YY_INPUT , +it then checks the +.Fn yywrap +function. +If +.Fn yywrap +returns false +.Pq zero , +then it is assumed that the function has gone ahead and set up +.Em yyin +to point to another input file, and scanning continues. +If it returns true +.Pq non-zero , +then the scanner terminates, returning 0 to its caller. +Note that in either case, the start condition remains unchanged; +it does not revert to +.Em INITIAL . +.Pp +If you do not supply your own version of +.Fn yywrap , +then you must either use +.Dq %option noyywrap +(in which case the scanner behaves as though +.Fn yywrap +returned 1), or you must link with +.Fl lfl +to obtain the default version of the routine, which always returns 1. +.Pp +Three routines are available for scanning from in-memory buffers rather +than files: +.Fn yy_scan_string , +.Fn yy_scan_bytes , +and +.Fn yy_scan_buffer . +See the discussion of them below in the section +.Sx MULTIPLE INPUT BUFFERS . +.Pp +The scanner writes its +.Em ECHO +output to the +.Em yyout +global +.Pq default, stdout , +which may be redefined by the user simply by assigning it to some other +.Va FILE +pointer. +.Sh START CONDITIONS +.Nm +provides a mechanism for conditionally activating rules. +Any rule whose pattern is prefixed with +.Qq +will only be active when the scanner is in the start condition named +.Qq sc . +For example, +.Bd -literal -offset indent +[^"]* { /* eat up the string body ... */ + ... +} +.Ed +.Pp +will be active only when the scanner is in the +.Qq STRING +start condition, and +.Bd -literal -offset indent +\e. { /* handle an escape ... */ + ... +} +.Ed +.Pp +will be active only when the current start condition is either +.Qq INITIAL , +.Qq STRING , +or +.Qq QUOTE . +.Pp +Start conditions are declared in the definitions +.Pq first +section of the input using unindented lines beginning with either +.Sq %s +or +.Sq %x +followed by a list of names. +The former declares +.Em inclusive +start conditions, the latter +.Em exclusive +start conditions. +A start condition is activated using the +.Em BEGIN +action. +Until the next +.Em BEGIN +action is executed, rules with the given start condition will be active and +rules with other start conditions will be inactive. +If the start condition is inclusive, +then rules with no start conditions at all will also be active. +If it is exclusive, +then only rules qualified with the start condition will be active. +A set of rules contingent on the same exclusive start condition +describe a scanner which is independent of any of the other rules in the +.Nm +input. +Because of this, exclusive start conditions make it easy to specify +.Qq mini-scanners +which scan portions of the input that are syntactically different +from the rest +.Pq e.g., comments . +.Pp +If the distinction between inclusive and exclusive start conditions +is still a little vague, here's a simple example illustrating the +connection between the two. +The set of rules: +.Bd -literal -offset indent +%s example +%% + +foo do_something(); + +bar something_else(); +.Ed +.Pp +is equivalent to +.Bd -literal -offset indent +%x example +%% + +foo do_something(); + +bar something_else(); +.Ed +.Pp +Without the qualifier, the +.Dq bar +pattern in the second example wouldn't be active +.Pq i.e., couldn't match +when in start condition +.Dq example . +If we just used to qualify +.Dq bar , +though, then it would only be active in +.Dq example +and not in +.Em INITIAL , +while in the first example it's active in both, +because in the first example the +.Dq example +start condition is an inclusive +.Pq Sq %s +start condition. +.Pp +Also note that the special start-condition specifier +.Sq <*> +matches every start condition. +Thus, the above example could also have been written: +.Bd -literal -offset indent +%x example +%% + +foo do_something(); + +<*>bar something_else(); +.Ed +.Pp +The default rule (to +.Em ECHO +any unmatched character) remains active in start conditions. +It is equivalent to: +.Bd -literal -offset indent +<*>.|\en ECHO; +.Ed +.Pp +.Dq BEGIN(0) +returns to the original state where only the rules with +no start conditions are active. +This state can also be referred to as the start-condition +.Em INITIAL , +so +.Dq BEGIN(INITIAL) +is equivalent to +.Dq BEGIN(0) . +(The parentheses around the start condition name are not required but +are considered good style.) +.Pp +.Em BEGIN +actions can also be given as indented code at the beginning +of the rules section. +For example, the following will cause the scanner to enter the +.Qq SPECIAL +start condition whenever +.Fn yylex +is called and the global variable +.Fa enter_special +is true: +.Bd -literal -offset indent +int enter_special; + +%x SPECIAL +%% + if (enter_special) + BEGIN(SPECIAL); + +blahblahblah +\&...more rules follow... +.Ed +.Pp +To illustrate the uses of start conditions, +here is a scanner which provides two different interpretations +of a string like +.Qq 123.456 . +By default it will treat it as three tokens: the integer +.Qq 123 , +a dot +.Pq Sq .\& , +and the integer +.Qq 456 . +But if the string is preceded earlier in the line by the string +.Qq expect-floats +it will treat it as a single token, the floating-point number 123.456: +.Bd -literal -offset indent +%{ +#include +%} +%s expect + +%% +expect-floats BEGIN(expect); + +[0-9]+"."[0-9]+ { + printf("found a float, = %s\en", yytext); +} +\en { + /* + * That's the end of the line, so + * we need another "expect-number" + * before we'll recognize any more + * numbers. + */ + BEGIN(INITIAL); +} + +[0-9]+ { + printf("found an integer, = %s\en", yytext); +} + +"." printf("found a dot\en"); +.Ed +.Pp +Here is a scanner which recognizes +.Pq and discards +C comments while maintaining a count of the current input line: +.Bd -literal -offset indent +%x comment +%% +int line_num = 1; + +"/*" BEGIN(comment); + +[^*\en]* /* eat anything that's not a '*' */ +"*"+[^*/\en]* /* eat up '*'s not followed by '/'s */ +\en ++line_num; +"*"+"/" BEGIN(INITIAL); +.Ed +.Pp +This scanner goes to a bit of trouble to match as much +text as possible with each rule. +In general, when attempting to write a high-speed scanner +try to match as much as possible in each rule, as it's a big win. +.Pp +Note that start-condition names are really integer values and +can be stored as such. +Thus, the above could be extended in the following fashion: +.Bd -literal -offset indent +%x comment foo +%% +int line_num = 1; +int comment_caller; + +"/*" { + comment_caller = INITIAL; + BEGIN(comment); +} + +\&... + +"/*" { + comment_caller = foo; + BEGIN(comment); +} + +[^*\en]* /* eat anything that's not a '*' */ +"*"+[^*/\en]* /* eat up '*'s not followed by '/'s */ +\en ++line_num; +"*"+"/" BEGIN(comment_caller); +.Ed +.Pp +Furthermore, the current start condition can be accessed by using +the integer-valued +.Dv YY_START +macro. +For example, the above assignments to +.Em comment_caller +could instead be written +.Pp +.Dl comment_caller = YY_START; +.Pp +Flex provides +.Dv YYSTATE +as an alias for +.Dv YY_START +(since that is what's used by +.At +.Nm lex ) . +.Pp +Note that start conditions do not have their own name-space; +%s's and %x's declare names in the same fashion as #define's. +.Pp +Finally, here's an example of how to match C-style quoted strings using +exclusive start conditions, including expanded escape sequences +(but not including checking for a string that's too long): +.Bd -literal -offset indent +%x str + +%% +#define MAX_STR_CONST 1024 +char string_buf[MAX_STR_CONST]; +char *string_buf_ptr; + +\e" string_buf_ptr = string_buf; BEGIN(str); + +\e" { /* saw closing quote - all done */ + BEGIN(INITIAL); + *string_buf_ptr = '\e0'; + /* + * return string constant token type and + * value to parser + */ +} + +\en { + /* error - unterminated string constant */ + /* generate error message */ +} + +\e\e[0-7]{1,3} { + /* octal escape sequence */ + int result; + + (void) sscanf(yytext + 1, "%o", &result); + + if (result > 0xff) { + /* error, constant is out-of-bounds */ + } else + *string_buf_ptr++ = result; +} + +\e\e[0-9]+ { + /* + * generate error - bad escape sequence; something + * like '\e48' or '\e0777777' + */ +} + +\e\en *string_buf_ptr++ = '\en'; +\e\et *string_buf_ptr++ = '\et'; +\e\er *string_buf_ptr++ = '\er'; +\e\eb *string_buf_ptr++ = '\eb'; +\e\ef *string_buf_ptr++ = '\ef'; + +\e\e(.|\en) *string_buf_ptr++ = yytext[1]; + +[^\e\e\en\e"]+ { + char *yptr = yytext; + + while (*yptr) + *string_buf_ptr++ = *yptr++; +} +.Ed +.Pp +Often, such as in some of the examples above, +a whole bunch of rules are all preceded by the same start condition(s). +.Nm +makes this a little easier and cleaner by introducing a notion of +start condition +.Em scope . +A start condition scope is begun with: +.Pp +.Dl { +.Pp +where +.Dq SCs +is a list of one or more start conditions. +Inside the start condition scope, every rule automatically has the prefix +applied to it, until a +.Sq } +which matches the initial +.Sq { . +So, for example, +.Bd -literal -offset indent +{ + "\e\en" return '\en'; + "\e\er" return '\er'; + "\e\ef" return '\ef'; + "\e\e0" return '\e0'; +} +.Ed +.Pp +is equivalent to: +.Bd -literal -offset indent +"\e\en" return '\en'; +"\e\er" return '\er'; +"\e\ef" return '\ef'; +"\e\e0" return '\e0'; +.Ed +.Pp +Start condition scopes may be nested. +.Pp +Three routines are available for manipulating stacks of start conditions: +.Bl -tag -width Ds +.It void yy_push_state(int new_state) +Pushes the current start condition onto the top of the start condition +stack and switches to +.Fa new_state +as though +.Dq BEGIN new_state +had been used +.Pq recall that start condition names are also integers . +.It void yy_pop_state() +Pops the top of the stack and switches to it via +.Em BEGIN . +.It int yy_top_state() +Returns the top of the stack without altering the stack's contents. +.El +.Pp +The start condition stack grows dynamically and so has no built-in +size limitation. +If memory is exhausted, program execution aborts. +.Pp +To use start condition stacks, scanners must include a +.Dq %option stack +directive (see +.Sx OPTIONS +below). +.Sh MULTIPLE INPUT BUFFERS +Some scanners +(such as those which support +.Qq include +files) +require reading from several input streams. +As +.Nm +scanners do a large amount of buffering, one cannot control +where the next input will be read from by simply writing a +.Dv YY_INPUT +which is sensitive to the scanning context. +.Dv YY_INPUT +is only called when the scanner reaches the end of its buffer, which +may be a long time after scanning a statement such as an +.Qq include +which requires switching the input source. +.Pp +To negotiate these sorts of problems, +.Nm +provides a mechanism for creating and switching between multiple +input buffers. +An input buffer is created by using: +.Pp +.D1 YY_BUFFER_STATE yy_create_buffer(FILE *file, int size) +.Pp +which takes a +.Fa FILE +pointer and a +.Fa size +and creates a buffer associated with the given file and large enough to hold +.Fa size +characters (when in doubt, use +.Dv YY_BUF_SIZE +for the size). +It returns a +.Dv YY_BUFFER_STATE +handle, which may then be passed to other routines +.Pq see below . +The +.Dv YY_BUFFER_STATE +type is a pointer to an opaque +.Dq struct yy_buffer_state +structure, so +.Dv YY_BUFFER_STATE +variables may be safely initialized to +.Dq ((YY_BUFFER_STATE) 0) +if desired, and the opaque structure can also be referred to in order to +correctly declare input buffers in source files other than that of scanners. +Note that the +.Fa FILE +pointer in the call to +.Fn yy_create_buffer +is only used as the value of +.Fa yyin +seen by +.Dv YY_INPUT ; +if +.Dv YY_INPUT +is redefined so that it no longer uses +.Fa yyin , +then a nil +.Fa FILE +pointer can safely be passed to +.Fn yy_create_buffer . +To select a particular buffer to scan: +.Pp +.D1 void yy_switch_to_buffer(YY_BUFFER_STATE new_buffer) +.Pp +It switches the scanner's input buffer so subsequent tokens will +come from +.Fa new_buffer . +Note that +.Fn yy_switch_to_buffer +may be used by +.Fn yywrap +to set things up for continued scanning, +instead of opening a new file and pointing +.Fa yyin +at it. +Note also that switching input sources via either +.Fn yy_switch_to_buffer +or +.Fn yywrap +does not change the start condition. +.Pp +.D1 void yy_delete_buffer(YY_BUFFER_STATE buffer) +.Pp +is used to reclaim the storage associated with a buffer. +.Pf ( Fa buffer +can be nil, in which case the routine does nothing.) +To clear the current contents of a buffer: +.Pp +.D1 void yy_flush_buffer(YY_BUFFER_STATE buffer) +.Pp +This function discards the buffer's contents, +so the next time the scanner attempts to match a token from the buffer, +it will first fill the buffer anew using +.Dv YY_INPUT . +.Pp +.Fn yy_new_buffer +is an alias for +.Fn yy_create_buffer , +provided for compatibility with the C++ use of +.Em new +and +.Em delete +for creating and destroying dynamic objects. +.Pp +Finally, the +.Dv YY_CURRENT_BUFFER +macro returns a +.Dv YY_BUFFER_STATE +handle to the current buffer. +.Pp +Here is an example of using these features for writing a scanner +which expands include files (the <> feature is discussed below): +.Bd -literal -offset indent +/* + * the "incl" state is used for picking up the name + * of an include file + */ +%x incl + +%{ +#define MAX_INCLUDE_DEPTH 10 +YY_BUFFER_STATE include_stack[MAX_INCLUDE_DEPTH]; +int include_stack_ptr = 0; +%} + +%% +include BEGIN(incl); + +[a-z]+ ECHO; +[^a-z\en]*\en? ECHO; + +[ \et]* /* eat the whitespace */ +[^ \et\en]+ { /* got the include file name */ + if (include_stack_ptr >= MAX_INCLUDE_DEPTH) + errx(1, "Includes nested too deeply"); + + include_stack[include_stack_ptr++] = + YY_CURRENT_BUFFER; + + yyin = fopen(yytext, "r"); + + if (yyin == NULL) + err(1, NULL); + + yy_switch_to_buffer( + yy_create_buffer(yyin, YY_BUF_SIZE)); + + BEGIN(INITIAL); +} + +<> { + if (--include_stack_ptr < 0) + yyterminate(); + else { + yy_delete_buffer(YY_CURRENT_BUFFER); + yy_switch_to_buffer( + include_stack[include_stack_ptr]); + } +} +.Ed +.Pp +Three routines are available for setting up input buffers for +scanning in-memory strings instead of files. +All of them create a new input buffer for scanning the string, +and return a corresponding +.Dv YY_BUFFER_STATE +handle (which should be deleted afterwards using +.Fn yy_delete_buffer ) . +They also switch to the new buffer using +.Fn yy_switch_to_buffer , +so the next call to +.Fn yylex +will start scanning the string. +.Bl -tag -width Ds +.It yy_scan_string(const char *str) +Scans a NUL-terminated string. +.It yy_scan_bytes(const char *bytes, int len) +Scans +.Fa len +bytes +.Pq including possibly NUL's +starting at location +.Fa bytes . +.El +.Pp +Note that both of these functions create and scan a copy +of the string or bytes. +(This may be desirable, since +.Fn yylex +modifies the contents of the buffer it is scanning.) +The copy can be avoided by using: +.Bl -tag -width Ds +.It yy_scan_buffer(char *base, yy_size_t size) +Which scans the buffer starting at +.Fa base , +consisting of +.Fa size +bytes, the last two bytes of which must be +.Dv YY_END_OF_BUFFER_CHAR +.Pq ASCII NUL . +These last two bytes are not scanned; thus, scanning consists of +base[0] through base[size-2], inclusive. +.Pp +If +.Fa base +is not set up in this manner +(i.e., forget the final two +.Dv YY_END_OF_BUFFER_CHAR +bytes), then +.Fn yy_scan_buffer +returns a nil pointer instead of creating a new input buffer. +.Pp +The type +.Fa yy_size_t +is an integral type which can be cast to an integer expression +reflecting the size of the buffer. +.El +.Sh END-OF-FILE RULES +The special rule +.Qq <> +indicates actions which are to be taken when an end-of-file is encountered and +.Fn yywrap +returns non-zero +.Pq i.e., indicates no further files to process . +The action must finish by doing one of four things: +.Bl -dash +.It +Assigning +.Em yyin +to a new input file +(in previous versions of +.Nm , +after doing the assignment, it was necessary to call the special action +.Dv YY_NEW_FILE ; +this is no longer necessary). +.It +Executing a +.Em return +statement. +.It +Executing the special +.Fn yyterminate +action. +.It +Switching to a new buffer using +.Fn yy_switch_to_buffer +as shown in the example above. +.El +.Pp +<> rules may not be used with other patterns; +they may only be qualified with a list of start conditions. +If an unqualified <> rule is given, it applies to all start conditions +which do not already have <> actions. +To specify an <> rule for only the initial start condition, use +.Pp +.Dl <> +.Pp +These rules are useful for catching things like unclosed comments. +An example: +.Bd -literal -offset indent +%x quote +%% + +\&...other rules for dealing with quotes... + +<> { + error("unterminated quote"); + yyterminate(); +} +<> { + if (*++filelist) + yyin = fopen(*filelist, "r"); + else + yyterminate(); +} +.Ed +.Sh MISCELLANEOUS MACROS +The macro +.Dv YY_USER_ACTION +can be defined to provide an action +which is always executed prior to the matched rule's action. +For example, +it could be #define'd to call a routine to convert yytext to lower-case. +When +.Dv YY_USER_ACTION +is invoked, the variable +.Fa yy_act +gives the number of the matched rule +.Pq rules are numbered starting with 1 . +For example, to profile how often each rule is matched, +the following would do the trick: +.Pp +.Dl #define YY_USER_ACTION ++ctr[yy_act] +.Pp +where +.Fa ctr +is an array to hold the counts for the different rules. +Note that the macro +.Dv YY_NUM_RULES +gives the total number of rules +(including the default rule, even if +.Fl s +is used), +so a correct declaration for +.Fa ctr +is: +.Pp +.Dl int ctr[YY_NUM_RULES]; +.Pp +The macro +.Dv YY_USER_INIT +may be defined to provide an action which is always executed before +the first scan +.Pq and before the scanner's internal initializations are done . +For example, it could be used to call a routine to read +in a data table or open a logging file. +.Pp +The macro +.Dv yy_set_interactive(is_interactive) +can be used to control whether the current buffer is considered +.Em interactive . +An interactive buffer is processed more slowly, +but must be used when the scanner's input source is indeed +interactive to avoid problems due to waiting to fill buffers +(see the discussion of the +.Fl I +flag below). +A non-zero value in the macro invocation marks the buffer as interactive, +a zero value as non-interactive. +Note that use of this macro overrides +.Dq %option always-interactive +or +.Dq %option never-interactive +(see +.Sx OPTIONS +below). +.Fn yy_set_interactive +must be invoked prior to beginning to scan the buffer that is +.Pq or is not +to be considered interactive. +.Pp +The macro +.Dv yy_set_bol(at_bol) +can be used to control whether the current buffer's scanning +context for the next token match is done as though at the +beginning of a line. +A non-zero macro argument makes rules anchored with +.Sq ^ +active, while a zero argument makes +.Sq ^ +rules inactive. +.Pp +The macro +.Dv YY_AT_BOL +returns true if the next token scanned from the current buffer will have +.Sq ^ +rules active, false otherwise. +.Pp +In the generated scanner, the actions are all gathered in one large +switch statement and separated using +.Dv YY_BREAK , +which may be redefined. +By default, it is simply a +.Qq break , +to separate each rule's action from the following rules. +Redefining +.Dv YY_BREAK +allows, for example, C++ users to +.Dq #define YY_BREAK +to do nothing +(while being very careful that every rule ends with a +.Qq break +or a +.Qq return ! ) +to avoid suffering from unreachable statement warnings where because a rule's +action ends with +.Dq return , +the +.Dv YY_BREAK +is inaccessible. +.Sh VALUES AVAILABLE TO THE USER +This section summarizes the various values available to the user +in the rule actions. +.Bl -tag -width Ds +.It char *yytext +Holds the text of the current token. +It may be modified but not lengthened +.Pq characters cannot be appended to the end . +.Pp +If the special directive +.Dq %array +appears in the first section of the scanner description, then +.Fa yytext +is instead declared +.Dq char yytext[YYLMAX] , +where +.Dv YYLMAX +is a macro definition that can be redefined in the first section +to change the default value +.Pq generally 8KB . +Using +.Dq %array +results in somewhat slower scanners, but the value of +.Fa yytext +becomes immune to calls to +.Fn input +and +.Fn unput , +which potentially destroy its value when +.Fa yytext +is a character pointer. +The opposite of +.Dq %array +is +.Dq %pointer , +which is the default. +.Pp +.Dq %array +cannot be used when generating C++ scanner classes +(the +.Fl + +flag). +.It int yyleng +Holds the length of the current token. +.It FILE *yyin +Is the file which by default +.Nm +reads from. +It may be redefined, but doing so only makes sense before +scanning begins or after an +.Dv EOF +has been encountered. +Changing it in the midst of scanning will have unexpected results since +.Nm +buffers its input; use +.Fn yyrestart +instead. +Once scanning terminates because an end-of-file +has been seen, +.Fa yyin +can be assigned as the new input file +and the scanner can be called again to continue scanning. +.It void yyrestart(FILE *new_file) +May be called to point +.Fa yyin +at the new input file. +The switch-over to the new file is immediate +.Pq any previously buffered-up input is lost . +Note that calling +.Fn yyrestart +with +.Fa yyin +as an argument thus throws away the current input buffer and continues +scanning the same input file. +.It FILE *yyout +Is the file to which +.Em ECHO +actions are done. +It can be reassigned by the user. +.It YY_CURRENT_BUFFER +Returns a +.Dv YY_BUFFER_STATE +handle to the current buffer. +.It YY_START +Returns an integer value corresponding to the current start condition. +This value can subsequently be used with +.Em BEGIN +to return to that start condition. +.El +.Sh INTERFACING WITH YACC +One of the main uses of +.Nm +is as a companion to the +.Xr yacc 1 +parser-generator. +yacc parsers expect to call a routine named +.Fn yylex +to find the next input token. +The routine is supposed to return the type of the next token +as well as putting any associated value in the global +.Fa yylval , +which is defined externally, +and can be a union or any other complex data structure. +To use +.Nm +with yacc, one specifies the +.Fl d +option to yacc to instruct it to generate the file +.Pa y.tab.h +containing definitions of all the +.Dq %tokens +appearing in the yacc input. +This file is then included in the +.Nm +scanner. +For example, part of the scanner might look like: +.Bd -literal -offset indent +%{ +#include "y.tab.h" +%} + +%% + +if return TOK_IF; +then return TOK_THEN; +begin return TOK_BEGIN; +end return TOK_END; +.Ed +.Sh OPTIONS +.Nm +has the following options: +.Bl -tag -width Ds +.It Fl 7 +Instructs +.Nm +to generate a 7-bit scanner, i.e., one which can only recognize 7-bit +characters in its input. +The advantage of using +.Fl 7 +is that the scanner's tables can be up to half the size of those generated +using the +.Fl 8 +option +.Pq see below . +The disadvantage is that such scanners often hang +or crash if their input contains an 8-bit character. +.Pp +Note, however, that unless generating a scanner using the +.Fl Cf +or +.Fl CF +table compression options, use of +.Fl 7 +will save only a small amount of table space, +and make the scanner considerably less portable. +.Nm flex Ns 's +default behavior is to generate an 8-bit scanner unless +.Fl Cf +or +.Fl CF +is specified, in which case +.Nm +defaults to generating 7-bit scanners unless it was +configured to generate 8-bit scanners +(as will often be the case with non-USA sites). +It is possible tell whether +.Nm +generated a 7-bit or an 8-bit scanner by inspecting the flag summary in the +.Fl v +output as described below. +.Pp +Note that if +.Fl Cfe +or +.Fl CFe +are used +(the table compression options, but also using equivalence classes as +discussed below), +.Nm +still defaults to generating an 8-bit scanner, +since usually with these compression options full 8-bit tables +are not much more expensive than 7-bit tables. +.It Fl 8 +Instructs +.Nm +to generate an 8-bit scanner, i.e., one which can recognize 8-bit +characters. +This flag is only needed for scanners generated using +.Fl Cf +or +.Fl CF , +as otherwise +.Nm +defaults to generating an 8-bit scanner anyway. +.Pp +See the discussion of +.Fl 7 +above for +.Nm flex Ns 's +default behavior and the tradeoffs between 7-bit and 8-bit scanners. +.It Fl B +Instructs +.Nm +to generate a +.Em batch +scanner, the opposite of +.Em interactive +scanners generated by +.Fl I +.Pq see below . +In general, +.Fl B +is used when the scanner will never be used interactively, +and you want to squeeze a little more performance out of it. +If the aim is instead to squeeze out a lot more performance, +use the +.Fl Cf +or +.Fl CF +options +.Pq discussed below , +which turn on +.Fl B +automatically anyway. +.It Fl b +Generate backing-up information to +.Pa lex.backup . +This is a list of scanner states which require backing up +and the input characters on which they do so. +By adding rules one can remove backing-up states. +If all backing-up states are eliminated and +.Fl Cf +or +.Fl CF +is used, the generated scanner will run faster (see the +.Fl p +flag). +Only users who wish to squeeze every last cycle out of their +scanners need worry about this option. +(See the section on +.Sx PERFORMANCE CONSIDERATIONS +below.) +.It Fl C Ns Op Cm aeFfmr +Controls the degree of table compression and, more generally, trade-offs +between small scanners and fast scanners. +.Bl -tag -width Ds +.It Fl Ca +Instructs +.Nm +to trade off larger tables in the generated scanner for faster performance +because the elements of the tables are better aligned for memory access +and computation. +On some +.Tn RISC +architectures, fetching and manipulating longwords is more efficient +than with smaller-sized units such as shortwords. +This option can double the size of the tables used by the scanner. +.It Fl Ce +Directs +.Nm +to construct +.Em equivalence classes , +i.e., sets of characters which have identical lexical properties +(for example, if the only appearance of digits in the +.Nm +input is in the character class +.Qq [0-9] +then the digits +.Sq 0 , +.Sq 1 , +.Sq ... , +.Sq 9 +will all be put in the same equivalence class). +Equivalence classes usually give dramatic reductions in the final +table/object file sizes +.Pq typically a factor of 2\-5 +and are pretty cheap performance-wise +.Pq one array look-up per character scanned . +.It Fl CF +Specifies that the alternate fast scanner representation +(described below under the +.Fl F +option) +should be used. +This option cannot be used with +.Fl + . +.It Fl Cf +Specifies that the +.Em full +scanner tables should be generated \- +.Nm +should not compress the tables by taking advantage of +similar transition functions for different states. +.It Fl \&Cm +Directs +.Nm +to construct +.Em meta-equivalence classes , +which are sets of equivalence classes +(or characters, if equivalence classes are not being used) +that are commonly used together. +Meta-equivalence classes are often a big win when using compressed tables, +but they have a moderate performance impact +(one or two +.Qq if +tests and one array look-up per character scanned). +.It Fl Cr +Causes the generated scanner to +.Em bypass +use of the standard I/O library +.Pq stdio +for input. +Instead of calling +.Xr fread 3 +or +.Xr getc 3 , +the scanner will use the +.Xr read 2 +system call, +resulting in a performance gain which varies from system to system, +but in general is probably negligible unless +.Fl Cf +or +.Fl CF +are being used. +Using +.Fl Cr +can cause strange behavior if, for example, reading from +.Fa yyin +using stdio prior to calling the scanner +(because the scanner will miss whatever text previous reads left +in the stdio input buffer). +.Pp +.Fl Cr +has no effect if +.Dv YY_INPUT +is defined +(see +.Sx THE GENERATED SCANNER +above). +.El +.Pp +A lone +.Fl C +specifies that the scanner tables should be compressed but neither +equivalence classes nor meta-equivalence classes should be used. +.Pp +The options +.Fl Cf +or +.Fl CF +and +.Fl \&Cm +do not make sense together \- there is no opportunity for meta-equivalence +classes if the table is not being compressed. +Otherwise the options may be freely mixed, and are cumulative. +.Pp +The default setting is +.Fl Cem +which specifies that +.Nm +should generate equivalence classes and meta-equivalence classes. +This setting provides the highest degree of table compression. +It is possible to trade off faster-executing scanners at the cost of +larger tables with the following generally being true: +.Bd -unfilled -offset indent +slowest & smallest + -Cem + -Cm + -Ce + -C + -C{f,F}e + -C{f,F} + -C{f,F}a +fastest & largest +.Ed +.Pp +Note that scanners with the smallest tables are usually generated and +compiled the quickest, +so during development the default is usually best, +maximal compression. +.Pp +.Fl Cfe +is often a good compromise between speed and size for production scanners. +.It Fl d +Makes the generated scanner run in debug mode. +Whenever a pattern is recognized and the global +.Fa yy_flex_debug +is non-zero +.Pq which is the default , +the scanner will write to stderr a line of the form: +.Pp +.D1 --accepting rule at line 53 ("the matched text") +.Pp +The line number refers to the location of the rule in the file +defining the scanner +(i.e., the file that was fed to +.Nm ) . +Messages are also generated when the scanner backs up, +accepts the default rule, +reaches the end of its input buffer +(or encounters a NUL; +at this point, the two look the same as far as the scanner's concerned), +or reaches an end-of-file. +.It Fl F +Specifies that the fast scanner table representation should be used +.Pq and stdio bypassed . +This representation is about as fast as the full table representation +.Pq Fl f , +and for some sets of patterns will be considerably smaller +.Pq and for others, larger . +In general, if the pattern set contains both +.Qq keywords +and a catch-all, +.Qq identifier +rule, such as in the set: +.Bd -unfilled -offset indent +"case" return TOK_CASE; +"switch" return TOK_SWITCH; +\&... +"default" return TOK_DEFAULT; +[a-z]+ return TOK_ID; +.Ed +.Pp +then it's better to use the full table representation. +If only the +.Qq identifier +rule is present and a hash table or some such is used to detect the keywords, +it's better to use +.Fl F . +.Pp +This option is equivalent to +.Fl CFr +.Pq see above . +It cannot be used with +.Fl + . +.It Fl f +Specifies +.Em fast scanner . +No table compression is done and stdio is bypassed. +The result is large but fast. +This option is equivalent to +.Fl Cfr +.Pq see above . +.It Fl h +Generates a help summary of +.Nm flex Ns 's +options to stdout and then exits. +.Fl ?\& +and +.Fl Fl help +are synonyms for +.Fl h . +.It Fl I +Instructs +.Nm +to generate an +.Em interactive +scanner. +An interactive scanner is one that only looks ahead to decide +what token has been matched if it absolutely must. +It turns out that always looking one extra character ahead, +even if the scanner has already seen enough text +to disambiguate the current token, is a bit faster than +only looking ahead when necessary. +But scanners that always look ahead give dreadful interactive performance; +for example, when a user types a newline, +it is not recognized as a newline token until they enter +.Em another +token, which often means typing in another whole line. +.Pp +.Nm +scanners default to +.Em interactive +unless +.Fl Cf +or +.Fl CF +table-compression options are specified +.Pq see above . +That's because if high-performance is most important, +one of these options should be used, +so if they weren't, +.Nm +assumes it is preferable to trade off a bit of run-time performance for +intuitive interactive behavior. +Note also that +.Fl I +cannot be used in conjunction with +.Fl Cf +or +.Fl CF . +Thus, this option is not really needed; it is on by default for all those +cases in which it is allowed. +.Pp +A scanner can be forced to not be interactive by using +.Fl B +.Pq see above . +.It Fl i +Instructs +.Nm +to generate a case-insensitive scanner. +The case of letters given in the +.Nm +input patterns will be ignored, +and tokens in the input will be matched regardless of case. +The matched text given in +.Fa yytext +will have the preserved case +.Pq i.e., it will not be folded . +.It Fl L +Instructs +.Nm +not to generate +.Dq #line +directives. +Without this option, +.Nm +peppers the generated scanner with #line directives so error messages +in the actions will be correctly located with respect to either the original +.Nm +input file +(if the errors are due to code in the input file), +or +.Pa lex.yy.c +(if the errors are +.Nm flex Ns 's +fault \- these sorts of errors should be reported to the email address +given below). +.It Fl l +Turns on maximum compatibility with the original +.At +.Nm lex +implementation. +Note that this does not mean full compatibility. +Use of this option costs a considerable amount of performance, +and it cannot be used with the +.Fl + , f , F , Cf , +or +.Fl CF +options. +For details on the compatibilities it provides, see the section +.Sx INCOMPATIBILITIES WITH LEX AND POSIX +below. +This option also results in the name +.Dv YY_FLEX_LEX_COMPAT +being #define'd in the generated scanner. +.It Fl n +Another do-nothing, deprecated option included only for +.Tn POSIX +compliance. +.It Fl o Ns Ar output +Directs +.Nm +to write the scanner to the file +.Ar output +instead of +.Pa lex.yy.c . +If +.Fl o +is combined with the +.Fl t +option, then the scanner is written to stdout but its +.Dq #line +directives +(see the +.Fl L +option above) +refer to the file +.Ar output . +.It Fl P Ns Ar prefix +Changes the default +.Qq yy +prefix used by +.Nm +for all globally visible variable and function names to instead be +.Ar prefix . +For example, +.Fl P Ns Ar foo +changes the name of +.Fa yytext +to +.Fa footext . +It also changes the name of the default output file from +.Pa lex.yy.c +to +.Pa lex.foo.c . +Here are all of the names affected: +.Bd -unfilled -offset indent +yy_create_buffer +yy_delete_buffer +yy_flex_debug +yy_init_buffer +yy_flush_buffer +yy_load_buffer_state +yy_switch_to_buffer +yyin +yyleng +yylex +yylineno +yyout +yyrestart +yytext +yywrap +.Ed +.Pp +(If using a C++ scanner, then only +.Fa yywrap +and +.Fa yyFlexLexer +are affected.) +Within the scanner itself, it is still possible to refer to the global variables +and functions using either version of their name; but externally, they +have the modified name. +.Pp +This option allows multiple +.Nm +programs to be easily linked together into the same executable. +Note, though, that using this option also renames +.Fn yywrap , +so now either an +.Pq appropriately named +version of the routine for the scanner must be supplied, or +.Dq %option noyywrap +must be used, as linking with +.Fl lfl +no longer provides one by default. +.It Fl p +Generates a performance report to stderr. +The report consists of comments regarding features of the +.Nm +input file which will cause a serious loss of performance in the resulting +scanner. +If the flag is specified twice, +comments regarding features that lead to minor performance losses +will also be reported> +.Pp +Note that the use of +.Em REJECT , +.Dq %option yylineno , +and variable trailing context +(see the +.Sx BUGS +section below) +entails a substantial performance penalty; use of +.Fn yymore , +the +.Sq ^ +operator, and the +.Fl I +flag entail minor performance penalties. +.It Fl S Ns Ar skeleton +Overrides the default skeleton file from which +.Nm +constructs its scanners. +This option is needed only for +.Nm +maintenance or development. +.It Fl s +Causes the default rule +.Pq that unmatched scanner input is echoed to stdout +to be suppressed. +If the scanner encounters input that does not +match any of its rules, it aborts with an error. +This option is useful for finding holes in a scanner's rule set. +.It Fl T +Makes +.Nm +run in +.Em trace +mode. +It will generate a lot of messages to stderr concerning +the form of the input and the resultant non-deterministic and deterministic +finite automata. +This option is mostly for use in maintaining +.Nm . +.It Fl t +Instructs +.Nm +to write the scanner it generates to standard output instead of +.Pa lex.yy.c . +.It Fl V +Prints the version number to stdout and exits. +.Fl Fl version +is a synonym for +.Fl V . +.It Fl v +Specifies that +.Nm +should write to stderr +a summary of statistics regarding the scanner it generates. +Most of the statistics are meaningless to the casual +.Nm +user, but the first line identifies the version of +.Nm +(same as reported by +.Fl V ) , +and the next line the flags used when generating the scanner, +including those that are on by default. +.It Fl w +Suppresses warning messages. +.It Fl + +Specifies that +.Nm +should generate a C++ scanner class. +See the section on +.Sx GENERATING C++ SCANNERS +below for details. +.El +.Pp +.Nm +also provides a mechanism for controlling options within the +scanner specification itself, rather than from the +.Nm +command line. +This is done by including +.Dq %option +directives in the first section of the scanner specification. +Multiple options can be specified with a single +.Dq %option +directive, and multiple directives in the first section of the +.Nm +input file. +.Pp +Most options are given simply as names, optionally preceded by the word +.Qq no +.Pq with no intervening whitespace +to negate their meaning. +A number are equivalent to +.Nm +flags or their negation: +.Bd -unfilled -offset indent +7bit -7 option +8bit -8 option +align -Ca option +backup -b option +batch -B option +c++ -+ option + +caseful or +case-sensitive opposite of -i (default) + +case-insensitive or +caseless -i option + +debug -d option +default opposite of -s option +ecs -Ce option +fast -F option +full -f option +interactive -I option +lex-compat -l option +meta-ecs -Cm option +perf-report -p option +read -Cr option +stdout -t option +verbose -v option +warn opposite of -w option + (use "%option nowarn" for -w) + +array equivalent to "%array" +pointer equivalent to "%pointer" (default) +.Ed +.Pp +Some %option's provide features otherwise not available: +.Bl -tag -width Ds +.It always-interactive +Instructs +.Nm +to generate a scanner which always considers its input +.Qq interactive . +Normally, on each new input file the scanner calls +.Fn isatty +in an attempt to determine whether the scanner's input source is interactive +and thus should be read a character at a time. +When this option is used, however, no such call is made. +.It main +Directs +.Nm +to provide a default +.Fn main +program for the scanner, which simply calls +.Fn yylex . +This option implies +.Dq noyywrap +.Pq see below . +.It never-interactive +Instructs +.Nm +to generate a scanner which never considers its input +.Qq interactive +(again, no call made to +.Fn isatty ) . +This is the opposite of +.Dq always-interactive . +.It stack +Enables the use of start condition stacks +(see +.Sx START CONDITIONS +above). +.It stdinit +If set (i.e., +.Dq %option stdinit ) , +initializes +.Fa yyin +and +.Fa yyout +to stdin and stdout, instead of the default of +.Dq nil . +Some existing +.Nm lex +programs depend on this behavior, even though it is not compliant with ANSI C, +which does not require stdin and stdout to be compile-time constant. +.It yylineno +Directs +.Nm +to generate a scanner that maintains the number of the current line +read from its input in the global variable +.Fa yylineno . +This option is implied by +.Dq %option lex-compat . +.It yywrap +If unset (i.e., +.Dq %option noyywrap ) , +makes the scanner not call +.Fn yywrap +upon an end-of-file, but simply assume that there are no more files to scan +(until the user points +.Fa yyin +at a new file and calls +.Fn yylex +again). +.El +.Pp +.Nm +scans rule actions to determine whether the +.Em REJECT +or +.Fn yymore +features are being used. +The +.Dq reject +and +.Dq yymore +options are available to override its decision as to whether to use the +options, either by setting them (e.g., +.Dq %option reject ) +to indicate the feature is indeed used, +or unsetting them to indicate it actually is not used +(e.g., +.Dq %option noyymore ) . +.Pp +Three options take string-delimited values, offset with +.Sq = : +.Pp +.D1 %option outfile="ABC" +.Pp +is equivalent to +.Fl o Ns Ar ABC , +and +.Pp +.D1 %option prefix="XYZ" +.Pp +is equivalent to +.Fl P Ns Ar XYZ . +Finally, +.Pp +.D1 %option yyclass="foo" +.Pp +only applies when generating a C++ scanner +.Pf ( Fl + +option). +It informs +.Nm +that +.Dq foo +has been derived as a subclass of yyFlexLexer, so +.Nm +will place actions in the member function +.Dq foo::yylex() +instead of +.Dq yyFlexLexer::yylex() . +It also generates a +.Dq yyFlexLexer::yylex() +member function that emits a run-time error (by invoking +.Dq yyFlexLexer::LexerError() ) +if called. +See +.Sx GENERATING C++ SCANNERS , +below, for additional information. +.Pp +A number of options are available for +lint +purists who want to suppress the appearance of unneeded routines +in the generated scanner. +Each of the following, if unset +(e.g., +.Dq %option nounput ) , +results in the corresponding routine not appearing in the generated scanner: +.Bd -unfilled -offset indent +input, unput +yy_push_state, yy_pop_state, yy_top_state +yy_scan_buffer, yy_scan_bytes, yy_scan_string +.Ed +.Pp +(though +.Fn yy_push_state +and friends won't appear anyway unless +.Dq %option stack +is being used). +.Sh PERFORMANCE CONSIDERATIONS +The main design goal of +.Nm +is that it generate high-performance scanners. +It has been optimized for dealing well with large sets of rules. +Aside from the effects on scanner speed of the table compression +.Fl C +options outlined above, +there are a number of options/actions which degrade performance. +These are, from most expensive to least: +.Bd -unfilled -offset indent +REJECT +%option yylineno +arbitrary trailing context + +pattern sets that require backing up +%array +%option interactive +%option always-interactive + +\&'^' beginning-of-line operator +yymore() +.Ed +.Pp +with the first three all being quite expensive +and the last two being quite cheap. +Note also that +.Fn unput +is implemented as a routine call that potentially does quite a bit of work, +while +.Fn yyless +is a quite-cheap macro; so if just putting back some excess text, +use +.Fn yyless . +.Pp +.Em REJECT +should be avoided at all costs when performance is important. +It is a particularly expensive option. +.Pp +Getting rid of backing up is messy and often may be an enormous +amount of work for a complicated scanner. +In principal, one begins by using the +.Fl b +flag to generate a +.Pa lex.backup +file. +For example, on the input +.Bd -literal -offset indent +%% +foo return TOK_KEYWORD; +foobar return TOK_KEYWORD; +.Ed +.Pp +the file looks like: +.Bd -literal -offset indent +State #6 is non-accepting - + associated rule line numbers: + 2 3 + out-transitions: [ o ] + jam-transitions: EOF [ \e001-n p-\e177 ] + +State #8 is non-accepting - + associated rule line numbers: + 3 + out-transitions: [ a ] + jam-transitions: EOF [ \e001-` b-\e177 ] + +State #9 is non-accepting - + associated rule line numbers: + 3 + out-transitions: [ r ] + jam-transitions: EOF [ \e001-q s-\e177 ] + +Compressed tables always back up. +.Ed +.Pp +The first few lines tell us that there's a scanner state in +which it can make a transition on an +.Sq o +but not on any other character, +and that in that state the currently scanned text does not match any rule. +The state occurs when trying to match the rules found +at lines 2 and 3 in the input file. +If the scanner is in that state and then reads something other than an +.Sq o , +it will have to back up to find a rule which is matched. +With a bit of headscratching one can see that this must be the +state it's in when it has seen +.Sq fo . +When this has happened, if anything other than another +.Sq o +is seen, the scanner will have to back up to simply match the +.Sq f +.Pq by the default rule . +.Pp +The comment regarding State #8 indicates there's a problem when +.Qq foob +has been scanned. +Indeed, on any character other than an +.Sq a , +the scanner will have to back up to accept +.Qq foo . +Similarly, the comment for State #9 concerns when +.Qq fooba +has been scanned and an +.Sq r +does not follow. +.Pp +The final comment reminds us that there's no point going to +all the trouble of removing backing up from the rules unless we're using +.Fl Cf +or +.Fl CF , +since there's no performance gain doing so with compressed scanners. +.Pp +The way to remove the backing up is to add +.Qq error +rules: +.Bd -literal -offset indent +%% +foo return TOK_KEYWORD; +foobar return TOK_KEYWORD; + +fooba | +foob | +fo { + /* false alarm, not really a keyword */ + return TOK_ID; +} +.Ed +.Pp +Eliminating backing up among a list of keywords can also be done using a +.Qq catch-all +rule: +.Bd -literal -offset indent +%% +foo return TOK_KEYWORD; +foobar return TOK_KEYWORD; + +[a-z]+ return TOK_ID; +.Ed +.Pp +This is usually the best solution when appropriate. +.Pp +Backing up messages tend to cascade. +With a complicated set of rules it's not uncommon to get hundreds of messages. +If one can decipher them, though, +it often only takes a dozen or so rules to eliminate the backing up +(though it's easy to make a mistake and have an error rule accidentally match +a valid token; a possible future +.Nm +feature will be to automatically add rules to eliminate backing up). +.Pp +It's important to keep in mind that the benefits of eliminating +backing up are gained only if +.Em every +instance of backing up is eliminated. +Leaving just one gains nothing. +.Pp +.Em Variable +trailing context +(where both the leading and trailing parts do not have a fixed length) +entails almost the same performance loss as +.Em REJECT +.Pq i.e., substantial . +So when possible a rule like: +.Bd -literal -offset indent +%% +mouse|rat/(cat|dog) run(); +.Ed +.Pp +is better written: +.Bd -literal -offset indent +%% +mouse/cat|dog run(); +rat/cat|dog run(); +.Ed +.Pp +or as +.Bd -literal -offset indent +%% +mouse|rat/cat run(); +mouse|rat/dog run(); +.Ed +.Pp +Note that here the special +.Sq |\& +action does not provide any savings, and can even make things worse (see +.Sx BUGS +below). +.Pp +Another area where the user can increase a scanner's performance +.Pq and one that's easier to implement +arises from the fact that the longer the tokens matched, +the faster the scanner will run. +This is because with long tokens the processing of most input +characters takes place in the +.Pq short +inner scanning loop, and does not often have to go through the additional work +of setting up the scanning environment (e.g., +.Fa yytext ) +for the action. +Recall the scanner for C comments: +.Bd -literal -offset indent +%x comment +%% +int line_num = 1; + +"/*" BEGIN(comment); + +[^*\en]* +"*"+[^*/\en]* +\en ++line_num; +"*"+"/" BEGIN(INITIAL); +.Ed +.Pp +This could be sped up by writing it as: +.Bd -literal -offset indent +%x comment +%% +int line_num = 1; + +"/*" BEGIN(comment); + +[^*\en]* +[^*\en]*\en ++line_num; +"*"+[^*/\en]* +"*"+[^*/\en]*\en ++line_num; +"*"+"/" BEGIN(INITIAL); +.Ed +.Pp +Now instead of each newline requiring the processing of another action, +recognizing the newlines is +.Qq distributed +over the other rules to keep the matched text as long as possible. +Note that adding rules does +.Em not +slow down the scanner! +The speed of the scanner is independent of the number of rules or +(modulo the considerations given at the beginning of this section) +how complicated the rules are with regard to operators such as +.Sq * +and +.Sq |\& . +.Pp +A final example in speeding up a scanner: +scan through a file containing identifiers and keywords, one per line +and with no other extraneous characters, and recognize all the keywords. +A natural first approach is: +.Bd -literal -offset indent +%% +asm | +auto | +break | +\&... etc ... +volatile | +while /* it's a keyword */ + +\&.|\en /* it's not a keyword */ +.Ed +.Pp +To eliminate the back-tracking, introduce a catch-all rule: +.Bd -literal -offset indent +%% +asm | +auto | +break | +\&... etc ... +volatile | +while /* it's a keyword */ + +[a-z]+ | +\&.|\en /* it's not a keyword */ +.Ed +.Pp +Now, if it's guaranteed that there's exactly one word per line, +then we can reduce the total number of matches by a half by +merging in the recognition of newlines with that of the other tokens: +.Bd -literal -offset indent +%% +asm\en | +auto\en | +break\en | +\&... etc ... +volatile\en | +while\en /* it's a keyword */ + +[a-z]+\en | +\&.|\en /* it's not a keyword */ +.Ed +.Pp +One has to be careful here, +as we have now reintroduced backing up into the scanner. +In particular, while we know that there will never be any characters +in the input stream other than letters or newlines, +.Nm +can't figure this out, and it will plan for possibly needing to back up +when it has scanned a token like +.Qq auto +and then the next character is something other than a newline or a letter. +Previously it would then just match the +.Qq auto +rule and be done, but now it has no +.Qq auto +rule, only an +.Qq auto\en +rule. +To eliminate the possibility of backing up, +we could either duplicate all rules but without final newlines or, +since we never expect to encounter such an input and therefore don't +how it's classified, we can introduce one more catch-all rule, +this one which doesn't include a newline: +.Bd -literal -offset indent +%% +asm\en | +auto\en | +break\en | +\&... etc ... +volatile\en | +while\en /* it's a keyword */ + +[a-z]+\en | +[a-z]+ | +\&.|\en /* it's not a keyword */ +.Ed +.Pp +Compiled with +.Fl Cf , +this is about as fast as one can get a +.Nm +scanner to go for this particular problem. +.Pp +A final note: +.Nm +is slow when matching NUL's, +particularly when a token contains multiple NUL's. +It's best to write rules which match short +amounts of text if it's anticipated that the text will often include NUL's. +.Pp +Another final note regarding performance: as mentioned above in the section +.Sx HOW THE INPUT IS MATCHED , +dynamically resizing +.Fa yytext +to accommodate huge tokens is a slow process because it presently requires that +the +.Pq huge +token be rescanned from the beginning. +Thus if performance is vital, it is better to attempt to match +.Qq large +quantities of text but not +.Qq huge +quantities, where the cutoff between the two is at about 8K characters/token. +.Sh GENERATING C++ SCANNERS +.Nm +provides two different ways to generate scanners for use with C++. +The first way is to simply compile a scanner generated by +.Nm +using a C++ compiler instead of a C compiler. +This should not generate any compilation errors +(please report any found to the email address given in the +.Sx AUTHORS +section below). +C++ code can then be used in rule actions instead of C code. +Note that the default input source for scanners remains +.Fa yyin , +and default echoing is still done to +.Fa yyout . +Both of these remain +.Fa FILE * +variables and not C++ streams. +.Pp +.Nm +can also be used to generate a C++ scanner class, using the +.Fl + +option (or, equivalently, +.Dq %option c++ ) , +which is automatically specified if the name of the flex executable ends in a +.Sq + , +such as +.Nm flex++ . +When using this option, +.Nm +defaults to generating the scanner to the file +.Pa lex.yy.cc +instead of +.Pa lex.yy.c . +The generated scanner includes the header file +.In g++/FlexLexer.h , +which defines the interface to two C++ classes. +.Pp +The first class, +.Em FlexLexer , +provides an abstract base class defining the general scanner class interface. +It provides the following member functions: +.Bl -tag -width Ds +.It const char* YYText() +Returns the text of the most recently matched token, the equivalent of +.Fa yytext . +.It int YYLeng() +Returns the length of the most recently matched token, the equivalent of +.Fa yyleng . +.It int lineno() const +Returns the current input line number +(see +.Dq %option yylineno ) , +or 1 if +.Dq %option yylineno +was not used. +.It void set_debug(int flag) +Sets the debugging flag for the scanner, equivalent to assigning to +.Fa yy_flex_debug +(see the +.Sx OPTIONS +section above). +Note that the scanner must be built using +.Dq %option debug +to include debugging information in it. +.It int debug() const +Returns the current setting of the debugging flag. +.El +.Pp +Also provided are member functions equivalent to +.Fn yy_switch_to_buffer , +.Fn yy_create_buffer +(though the first argument is an +.Fa std::istream* +object pointer and not a +.Fa FILE* ) , +.Fn yy_flush_buffer , +.Fn yy_delete_buffer , +and +.Fn yyrestart +(again, the first argument is an +.Fa std::istream* +object pointer). +.Pp +The second class defined in +.In g++/FlexLexer.h +is +.Fa yyFlexLexer , +which is derived from +.Fa FlexLexer . +It defines the following additional member functions: +.Bl -tag -width Ds +.It "yyFlexLexer(std::istream* arg_yyin = 0, std::ostream* arg_yyout = 0)" +Constructs a +.Fa yyFlexLexer +object using the given streams for input and output. +If not specified, the streams default to +.Fa cin +and +.Fa cout , +respectively. +.It virtual int yylex() +Performs the same role as +.Fn yylex +does for ordinary flex scanners: it scans the input stream, consuming +tokens, until a rule's action returns a value. +If subclass +.Sq S +is derived from +.Fa yyFlexLexer , +in order to access the member functions and variables of +.Sq S +inside +.Fn yylex , +use +.Dq %option yyclass="S" +to inform +.Nm +that the +.Sq S +subclass will be used instead of +.Fa yyFlexLexer . +In this case, rather than generating +.Dq yyFlexLexer::yylex() , +.Nm +generates +.Dq S::yylex() +(and also generates a dummy +.Dq yyFlexLexer::yylex() +that calls +.Dq yyFlexLexer::LexerError() +if called). +.It "virtual void switch_streams(std::istream* new_in = 0, std::ostream* new_out = 0)" +Reassigns +.Fa yyin +to +.Fa new_in +.Pq if non-nil +and +.Fa yyout +to +.Fa new_out +.Pq ditto , +deleting the previous input buffer if +.Fa yyin +is reassigned. +.It int yylex(std::istream* new_in, std::ostream* new_out = 0) +First switches the input streams via +.Dq switch_streams(new_in, new_out) +and then returns the value of +.Fn yylex . +.El +.Pp +In addition, +.Fa yyFlexLexer +defines the following protected virtual functions which can be redefined +in derived classes to tailor the scanner: +.Bl -tag -width Ds +.It virtual int LexerInput(char* buf, int max_size) +Reads up to +.Fa max_size +characters into +.Fa buf +and returns the number of characters read. +To indicate end-of-input, return 0 characters. +Note that +.Qq interactive +scanners (see the +.Fl B +and +.Fl I +flags) define the macro +.Dv YY_INTERACTIVE . +If +.Fn LexerInput +has been redefined, and it's necessary to take different actions depending on +whether or not the scanner might be scanning an interactive input source, +it's possible to test for the presence of this name via +.Dq #ifdef . +.It virtual void LexerOutput(const char* buf, int size) +Writes out +.Fa size +characters from the buffer +.Fa buf , +which, while NUL-terminated, may also contain +.Qq internal +NUL's if the scanner's rules can match text with NUL's in them. +.It virtual void LexerError(const char* msg) +Reports a fatal error message. +The default version of this function writes the message to the stream +.Fa cerr +and exits. +.El +.Pp +Note that a +.Fa yyFlexLexer +object contains its entire scanning state. +Thus such objects can be used to create reentrant scanners. +Multiple instances of the same +.Fa yyFlexLexer +class can be instantiated, and multiple C++ scanner classes can be combined +in the same program using the +.Fl P +option discussed above. +.Pp +Finally, note that the +.Dq %array +feature is not available to C++ scanner classes; +.Dq %pointer +must be used +.Pq the default . +.Pp +Here is an example of a simple C++ scanner: +.Bd -literal -offset indent +// An example of using the flex C++ scanner class. + +%{ +#include +int mylineno = 0; +%} + +string \e"[^\en"]+\e" + +ws [ \et]+ + +alpha [A-Za-z] +dig [0-9] +name ({alpha}|{dig}|\e$)({alpha}|{dig}|[_.\e-/$])* +num1 [-+]?{dig}+\e.?([eE][-+]?{dig}+)? +num2 [-+]?{dig}*\e.{dig}+([eE][-+]?{dig}+)? +number {num1}|{num2} + +%% + +{ws} /* skip blanks and tabs */ + +"/*" { + int c; + + while ((c = yyinput()) != 0) { + if(c == '\en') + ++mylineno; + else if(c == '*') { + if ((c = yyinput()) == '/') + break; + else + unput(c); + } + } +} + +{number} cout << "number " << YYText() << '\en'; + +\en mylineno++; + +{name} cout << "name " << YYText() << '\en'; + +{string} cout << "string " << YYText() << '\en'; + +%% + +int main(int /* argc */, char** /* argv */) +{ + FlexLexer* lexer = new yyFlexLexer; + while(lexer->yylex() != 0) + ; + return 0; +} +.Ed +.Pp +To create multiple +.Pq different +lexer classes, use the +.Fl P +flag +(or the +.Dq prefix= +option) +to rename each +.Fa yyFlexLexer +to some other +.Fa xxFlexLexer . +.In g++/FlexLexer.h +can then be included in other sources once per lexer class, first renaming +.Fa yyFlexLexer +as follows: +.Bd -literal -offset indent +#undef yyFlexLexer +#define yyFlexLexer xxFlexLexer +#include + +#undef yyFlexLexer +#define yyFlexLexer zzFlexLexer +#include +.Ed +.Pp +If, for example, +.Dq %option prefix="xx" +is used for one scanner and +.Dq %option prefix="zz" +is used for the other. +.Pp +.Sy IMPORTANT : +the present form of the scanning class is experimental +and may change considerably between major releases. +.Sh INCOMPATIBILITIES WITH LEX AND POSIX +.Nm +is a rewrite of the +.At +.Nm lex +tool +(the two implementations do not share any code, though), +with some extensions and incompatibilities, both of which are of concern +to those who wish to write scanners acceptable to either implementation. +.Nm +is fully compliant with the +.Tn POSIX +.Nm lex +specification, except that when using +.Dq %pointer +.Pq the default , +a call to +.Fn unput +destroys the contents of +.Fa yytext , +which is counter to the +.Tn POSIX +specification. +.Pp +In this section we discuss all of the known areas of incompatibility between +.Nm , +.At +.Nm lex , +and the +.Tn POSIX +specification. +.Pp +.Nm flex Ns 's +.Fl l +option turns on maximum compatibility with the original +.At +.Nm lex +implementation, at the cost of a major loss in the generated scanner's +performance. +We note below which incompatibilities can be overcome using the +.Fl l +option. +.Pp +.Nm +is fully compatible with +.Nm lex +with the following exceptions: +.Bl -dash +.It +The undocumented +.Nm lex +scanner internal variable +.Fa yylineno +is not supported unless +.Fl l +or +.Dq %option yylineno +is used. +.Pp +.Fa yylineno +should be maintained on a per-buffer basis, rather than a per-scanner +.Pq single global variable +basis. +.Pp +.Fa yylineno +is not part of the +.Tn POSIX +specification. +.It +The +.Fn input +routine is not redefinable, though it may be called to read characters +following whatever has been matched by a rule. +If +.Fn input +encounters an end-of-file, the normal +.Fn yywrap +processing is done. +A +.Dq real +end-of-file is returned by +.Fn input +as +.Dv EOF . +.Pp +Input is instead controlled by defining the +.Dv YY_INPUT +macro. +.Pp +The +.Nm +restriction that +.Fn input +cannot be redefined is in accordance with the +.Tn POSIX +specification, which simply does not specify any way of controlling the +scanner's input other than by making an initial assignment to +.Fa yyin . +.It +The +.Fn unput +routine is not redefinable. +This restriction is in accordance with +.Tn POSIX . +.It +.Nm +scanners are not as reentrant as +.Nm lex +scanners. +In particular, if a scanner is interactive and +an interrupt handler long-jumps out of the scanner, +and the scanner is subsequently called again, +the following error message may be displayed: +.Pp +.D1 fatal flex scanner internal error--end of buffer missed +.Pp +To reenter the scanner, first use +.Pp +.Dl yyrestart(yyin); +.Pp +Note that this call will throw away any buffered input; +usually this isn't a problem with an interactive scanner. +.Pp +Also note that flex C++ scanner classes are reentrant, +so if using C++ is an option , they should be used instead. +See +.Sx GENERATING C++ SCANNERS +above for details. +.It +.Fn output +is not supported. +Output from the +.Em ECHO +macro is done to the file-pointer +.Fa yyout +.Pq default stdout . +.Pp +.Fn output +is not part of the +.Tn POSIX +specification. +.It +.Nm lex +does not support exclusive start conditions +.Pq %x , +though they are in the +.Tn POSIX +specification. +.It +When definitions are expanded, +.Nm +encloses them in parentheses. +With +.Nm lex , +the following: +.Bd -literal -offset indent +NAME [A-Z][A-Z0-9]* +%% +foo{NAME}? printf("Found it\en"); +%% +.Ed +.Pp +will not match the string +.Qq foo +because when the macro is expanded the rule is equivalent to +.Qq foo[A-Z][A-Z0-9]*? +and the precedence is such that the +.Sq ?\& +is associated with +.Qq [A-Z0-9]* . +With +.Nm , +the rule will be expanded to +.Qq foo([A-Z][A-Z0-9]*)? +and so the string +.Qq foo +will match. +.Pp +Note that if the definition begins with +.Sq ^ +or ends with +.Sq $ +then it is not expanded with parentheses, to allow these operators to appear in +definitions without losing their special meanings. +But the +.Sq , +.Sq / , +and +.Sq <> +operators cannot be used in a +.Nm +definition. +.Pp +Using +.Fl l +results in the +.Nm lex +behavior of no parentheses around the definition. +.Pp +The +.Tn POSIX +specification is that the definition be enclosed in parentheses. +.It +Some implementations of +.Nm lex +allow a rule's action to begin on a separate line, +if the rule's pattern has trailing whitespace: +.Bd -literal -offset indent +%% +foo|bar + { foobar_action(); } +.Ed +.Pp +.Nm +does not support this feature. +.It +The +.Nm lex +.Sq %r +.Pq generate a Ratfor scanner +option is not supported. +It is not part of the +.Tn POSIX +specification. +.It +After a call to +.Fn unput , +.Fa yytext +is undefined until the next token is matched, +unless the scanner was built using +.Dq %array . +This is not the case with +.Nm lex +or the +.Tn POSIX +specification. +The +.Fl l +option does away with this incompatibility. +.It +The precedence of the +.Sq {} +.Pq numeric range +operator is different. +.Nm lex +interprets +.Qq abc{1,3} +as match one, two, or three occurrences of +.Sq abc , +whereas +.Nm +interprets it as match +.Sq ab +followed by one, two, or three occurrences of +.Sq c . +The latter is in agreement with the +.Tn POSIX +specification. +.It +The precedence of the +.Sq ^ +operator is different. +.Nm lex +interprets +.Qq ^foo|bar +as match either +.Sq foo +at the beginning of a line, or +.Sq bar +anywhere, whereas +.Nm +interprets it as match either +.Sq foo +or +.Sq bar +if they come at the beginning of a line. +The latter is in agreement with the +.Tn POSIX +specification. +.It +The special table-size declarations such as +.Sq %a +supported by +.Nm lex +are not required by +.Nm +scanners; +.Nm +ignores them. +.It +The name +.Dv FLEX_SCANNER +is #define'd so scanners may be written for use with either +.Nm +or +.Nm lex . +Scanners also include +.Dv YY_FLEX_MAJOR_VERSION +and +.Dv YY_FLEX_MINOR_VERSION +indicating which version of +.Nm +generated the scanner +(for example, for the 2.5 release, these defines would be 2 and 5, +respectively). +.El +.Pp +The following +.Nm +features are not included in +.Nm lex +or the +.Tn POSIX +specification: +.Bd -unfilled -offset indent +C++ scanners +%option +start condition scopes +start condition stacks +interactive/non-interactive scanners +yy_scan_string() and friends +yyterminate() +yy_set_interactive() +yy_set_bol() +YY_AT_BOL() +<> +<*> +YY_DECL +YY_START +YY_USER_ACTION +YY_USER_INIT +#line directives +%{}'s around actions +multiple actions on a line +.Ed +.Pp +plus almost all of the +.Nm +flags. +The last feature in the list refers to the fact that with +.Nm +multiple actions can be placed on the same line, +separated with semi-colons, while with +.Nm lex , +the following +.Pp +.Dl foo handle_foo(); ++num_foos_seen; +.Pp +is +.Pq rather surprisingly +truncated to +.Pp +.Dl foo handle_foo(); +.Pp +.Nm +does not truncate the action. +Actions that are not enclosed in braces +are simply terminated at the end of the line. +.Sh FILES +.Bl -tag -width "" +.It Pa flex.skl +Skeleton scanner. +This file is only used when building flex, not when +.Nm +executes. +.It Pa lex.backup +Backing-up information for the +.Fl b +flag (called +.Pa lex.bck +on some systems). +.It Pa lex.yy.c +Generated scanner +(called +.Pa lexyy.c +on some systems). +.It Pa lex.yy.cc +Generated C++ scanner class, when using +.Fl + . +.It In g++/FlexLexer.h +Header file defining the C++ scanner base class, +.Fa FlexLexer , +and its derived class, +.Fa yyFlexLexer . +.It Pa /usr/lib/libl.* +.Nm +libraries. +The +.Pa /usr/lib/libfl.*\& +libraries are links to these. +Scanners must be linked using either +.Fl \&ll +or +.Fl lfl . +.El +.Sh EXIT STATUS +.Ex -std flex +.Sh DIAGNOSTICS +.Bl -diag +.It warning, rule cannot be matched +Indicates that the given rule cannot be matched because it follows other rules +that will always match the same text as it. +For example, in the following +.Dq foo +cannot be matched because it comes after an identifier +.Qq catch-all +rule: +.Bd -literal -offset indent +[a-z]+ got_identifier(); +foo got_foo(); +.Ed +.Pp +Using +.Em REJECT +in a scanner suppresses this warning. +.It "warning, \-s option given but default rule can be matched" +Means that it is possible +.Pq perhaps only in a particular start condition +that the default rule +.Pq match any single character +is the only one that will match a particular input. +Since +.Fl s +was given, presumably this is not intended. +.It reject_used_but_not_detected undefined +.It yymore_used_but_not_detected undefined +These errors can occur at compile time. +They indicate that the scanner uses +.Em REJECT +or +.Fn yymore +but that +.Nm +failed to notice the fact, meaning that +.Nm +scanned the first two sections looking for occurrences of these actions +and failed to find any, but somehow they snuck in +.Pq via an #include file, for example . +Use +.Dq %option reject +or +.Dq %option yymore +to indicate to +.Nm +that these features are really needed. +.It flex scanner jammed +A scanner compiled with +.Fl s +has encountered an input string which wasn't matched by any of its rules. +This error can also occur due to internal problems. +.It token too large, exceeds YYLMAX +The scanner uses +.Dq %array +and one of its rules matched a string longer than the +.Dv YYLMAX +constant +.Pq 8K bytes by default . +The value can be increased by #define'ing +.Dv YYLMAX +in the definitions section of +.Nm +input. +.It "scanner requires \-8 flag to use the character 'x'" +The scanner specification includes recognizing the 8-bit character +.Sq x +and the +.Fl 8 +flag was not specified, and defaulted to 7-bit because the +.Fl Cf +or +.Fl CF +table compression options were used. +See the discussion of the +.Fl 7 +flag for details. +.It flex scanner push-back overflow +unput() was used to push back so much text that the scanner's buffer +could not hold both the pushed-back text and the current token in +.Fa yytext . +Ideally the scanner should dynamically resize the buffer in this case, +but at present it does not. +.It "input buffer overflow, can't enlarge buffer because scanner uses REJECT" +The scanner was working on matching an extremely large token and needed +to expand the input buffer. +This doesn't work with scanners that use +.Em REJECT . +.It "fatal flex scanner internal error--end of buffer missed" +This can occur in a scanner which is reentered after a long-jump +has jumped out +.Pq or over +the scanner's activation frame. +Before reentering the scanner, use: +.Pp +.Dl yyrestart(yyin); +.Pp +or, as noted above, switch to using the C++ scanner class. +.It "too many start conditions in <> construct!" +More start conditions than exist were listed in a <> construct +(so at least one of them must have been listed twice). +.El +.Sh SEE ALSO +.Xr awk 1 , +.Xr sed 1 , +.Xr yacc 1 +.Rs +.\" 4.4BSD PSD:16 +.%A M. E. Lesk +.%T Lex \(em Lexical Analyzer Generator +.%I AT&T Bell Laboratories +.%R Computing Science Technical Report +.%N 39 +.%D October 1975 +.Re +.Rs +.%A John Levine +.%A Tony Mason +.%A Doug Brown +.%B Lex & Yacc +.%I O'Reilly and Associates +.%N 2nd edition +.Re +.Rs +.%A Alfred Aho +.%A Ravi Sethi +.%A Jeffrey Ullman +.%B Compilers: Principles, Techniques and Tools +.%I Addison-Wesley +.%D 1986 +.%O "Describes the pattern-matching techniques used by flex (deterministic finite automata)" +.Re +.Sh STANDARDS +The +.Nm lex +utility is compliant with the +.St -p1003.1-2008 +specification, +though its presence is optional. +.Pp +The flags +.Op Fl 78BbCdFfhIiLloPpSsTVw+? , +.Op Fl -help , +and +.Op Fl -version +are extensions to that specification. +.Pp +See also the +.Sx INCOMPATIBILITIES WITH LEX AND POSIX +section, above. +.Sh AUTHORS +Vern Paxson, with the help of many ideas and much inspiration from +Van Jacobson. +Original version by Jef Poskanzer. +The fast table representation is a partial implementation of a design done by +Van Jacobson. +The implementation was done by Kevin Gong and Vern Paxson. +.Pp +Thanks to the many +.Nm +beta-testers, feedbackers, and contributors, especially Francois Pinard, +Casey Leedom, +Robert Abramovitz, +Stan Adermann, Terry Allen, David Barker-Plummer, John Basrai, +Neal Becker, Nelson H.F. Beebe, +.Mt benson@odi.com , +Karl Berry, Peter A. Bigot, Simon Blanchard, +Keith Bostic, Frederic Brehm, Ian Brockbank, Kin Cho, Nick Christopher, +Brian Clapper, J.T. Conklin, +Jason Coughlin, Bill Cox, Nick Cropper, Dave Curtis, Scott David +Daniels, Chris G. Demetriou, Theo de Raadt, +Mike Donahue, Chuck Doucette, Tom Epperly, Leo Eskin, +Chris Faylor, Chris Flatters, Jon Forrest, Jeffrey Friedl, +Joe Gayda, Kaveh R. Ghazi, Wolfgang Glunz, +Eric Goldman, Christopher M. Gould, Ulrich Grepel, Peer Griebel, +Jan Hajic, Charles Hemphill, NORO Hideo, +Jarkko Hietaniemi, Scott Hofmann, +Jeff Honig, Dana Hudes, Eric Hughes, John Interrante, +Ceriel Jacobs, Michal Jaegermann, Sakari Jalovaara, Jeffrey R. Jones, +Henry Juengst, Klaus Kaempf, Jonathan I. Kamens, Terrence O Kane, +Amir Katz, +.Mt ken@ken.hilco.com , +Kevin B. Kenny, +Steve Kirsch, Winfried Koenig, Marq Kole, Ronald Lamprecht, +Greg Lee, Rohan Lenard, Craig Leres, John Levine, Steve Liddle, +David Loffredo, Mike Long, +Mohamed el Lozy, Brian Madsen, Malte, Joe Marshall, +Bengt Martensson, Chris Metcalf, +Luke Mewburn, Jim Meyering, R. Alexander Milowski, Erik Naggum, +G.T. Nicol, Landon Noll, James Nordby, Marc Nozell, +Richard Ohnemus, Karsten Pahnke, +Sven Panne, Roland Pesch, Walter Pelissero, Gaumond Pierre, +Esmond Pitt, Jef Poskanzer, Joe Rahmeh, Jarmo Raiha, +Frederic Raimbault, Pat Rankin, Rick Richardson, +Kevin Rodgers, Kai Uwe Rommel, Jim Roskind, Alberto Santini, +Andreas Scherer, Darrell Schiebel, Raf Schietekat, +Doug Schmidt, Philippe Schnoebelen, Andreas Schwab, +Larry Schwimmer, Alex Siegel, Eckehard Stolz, Jan-Erik Strvmquist, +Mike Stump, Paul Stuart, Dave Tallman, Ian Lance Taylor, +Chris Thewalt, Richard M. Timoney, Jodi Tsai, +Paul Tuinenga, Gary Weik, Frank Whaley, Gerhard Wilhelms, Kent Williams, +Ken Yap, Ron Zellar, Nathan Zelle, David Zuhn, +and those whose names have slipped my marginal mail-archiving skills +but whose contributions are appreciated all the +same. +.Pp +Thanks to Keith Bostic, Jon Forrest, Noah Friedman, +John Gilmore, Craig Leres, John Levine, Bob Mulcahy, G.T. +Nicol, Francois Pinard, Rich Salz, and Richard Stallman for help with various +distribution headaches. +.Pp +Thanks to Esmond Pitt and Earle Horton for 8-bit character support; +to Benson Margulies and Fred Burke for C++ support; +to Kent Williams and Tom Epperly for C++ class support; +to Ove Ewerlid for support of NUL's; +and to Eric Hughes for support of multiple buffers. +.Pp +This work was primarily done when I was with the Real Time Systems Group +at the Lawrence Berkeley Laboratory in Berkeley, CA. +Many thanks to all there for the support I received. +.Pp +Send comments to +.Aq Mt vern@ee.lbl.gov . +.Sh BUGS +Some trailing context patterns cannot be properly matched and generate +warning messages +.Pq "dangerous trailing context" . +These are patterns where the ending of the first part of the rule +matches the beginning of the second part, such as +.Qq zx*/xy* , +where the +.Sq x* +matches the +.Sq x +at the beginning of the trailing context. +(Note that the POSIX draft states that the text matched by such patterns +is undefined.) +.Pp +For some trailing context rules, parts which are actually fixed-length are +not recognized as such, leading to the above mentioned performance loss. +In particular, parts using +.Sq |\& +or +.Sq {n} +(such as +.Qq foo{3} ) +are always considered variable-length. +.Pp +Combining trailing context with the special +.Sq |\& +action can result in fixed trailing context being turned into +the more expensive variable trailing context. +For example, in the following: +.Bd -literal -offset indent +%% +abc | +xyz/def +.Ed +.Pp +Use of +.Fn unput +invalidates yytext and yyleng, unless the +.Dq %array +directive +or the +.Fl l +option has been used. +.Pp +Pattern-matching of NUL's is substantially slower than matching other +characters. +.Pp +Dynamic resizing of the input buffer is slow, as it entails rescanning +all the text matched so far by the current +.Pq generally huge +token. +.Pp +Due to both buffering of input and read-ahead, +it is not possible to intermix calls to +.In stdio.h +routines, such as, for example, +.Fn getchar , +with +.Nm +rules and expect it to work. +Call +.Fn input +instead. +.Pp +The total table entries listed by the +.Fl v +flag excludes the number of table entries needed to determine +what rule has been matched. +The number of entries is equal to the number of DFA states +if the scanner does not use +.Em REJECT , +and somewhat greater than the number of states if it does. +.Pp +.Em REJECT +cannot be used with the +.Fl f +or +.Fl F +options. +.Pp +The +.Nm +internal algorithms need documentation. diff --git a/static/openbsd/man1/fmt.1 b/static/openbsd/man1/fmt.1 new file mode 100644 index 00000000..0a7f7765 --- /dev/null +++ b/static/openbsd/man1/fmt.1 @@ -0,0 +1,190 @@ +.\" $OpenBSD: fmt.1,v 1.30 2016/10/24 13:46:58 schwarze Exp $ +.\" +.\" Copyright (c) 1980, 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. 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. +.\" +.\" @(#)fmt.1 8.1 (Berkeley) 6/6/93 +.\" +.Dd $Mdocdate: October 24 2016 $ +.Dt FMT 1 +.Os +.Sh NAME +.Nm fmt +.Nd simple text formatter +.Sh SYNOPSIS +.Nm fmt +.Op Fl cmnps +.Op Fl d Ar chars +.Op Fl l Ar number +.Op Fl t Ar number +.Op Ar goal Oo Ar maximum Oc | Fl Ar width | Fl w Ar width +.Op Ar +.Sh DESCRIPTION +.Nm +is a simple text formatter which reads the concatenation of input +files (or standard input if none are given) and produces on standard +output a version of its input with lines as close to the +.Ar goal +length +as possible without exceeding the +.Ar maximum . +The +.Ar goal +length defaults +to 65 and the +.Ar maximum +to 10 more than the +.Ar goal +length. +.Pp +Alternatively, a single +.Ar width +parameter can be specified either by prepending a hyphen to it or by using +.Fl w . +For example, +.Dq fmt -w 72 , +.Dq fmt -72 , +and +.Dq fmt 72 72 +all produce identical output. +The spacing at the beginning of the input lines is preserved in the output, +as are blank lines and interword spacing. +Lines are joined or split only at white space; that is, words are never +joined or hyphenated. +.Pp +The options are as follows: +.Bl -tag -width Ds +.It Fl c +Center the text, line by line. +In this case, most of the other +options are ignored; no splitting or joining of lines is done. +.It Fl d Ar chars +Treat +.Ar chars +(and no others) as sentence-ending characters. +By default the +sentence-ending characters are full stop +.Pq Ql \&. , +question mark +.Pq Ql \&? , +and exclamation mark +.Pq Ql \&! . +Remember that some characters may need to be +escaped to protect them from the shell. +.It Fl l Ar number +Replace multiple spaces with tabs at the start of each output +line, if possible. +.Ar number +spaces will be replaced with one tab. +.It Fl m +Try to format mail header lines contained in the input sensibly. +.It Fl n +Format lines beginning with a +.Ql \&. +(dot) character. +Normally, +.Nm +does not fill these lines, +for compatibility with troff and nroff. +.It Fl p +Allow indented paragraphs. +Without the +.Fl p +flag, any change in the amount of whitespace at the start of a line +results in a new paragraph being begun. +.It Fl s +Collapse whitespace inside lines, so that multiple whitespace +characters are turned into a single space +(or, at the end of a +sentence, a double space). +.It Fl t Ar number +Assume that the input files' tabs assume +.Ar number +spaces per tab stop. +The default is 8. +.El +.Pp +.Nm +is meant to format mail messages prior to sending, but may also be useful +for other simple tasks. +For instance, +within an editor such as +.Xr vi 1 , +the following command +will reformat a paragraph, +evening the lines: +.Pp +.Dl !}fmt +.Sh ENVIRONMENT +.Bl -tag -width LC_CTYPE +.It Ev LC_CTYPE +The character encoding +.Xr locale 1 . +It decides which byte sequences form characters +and what their display width is. +If unset or set to +.Qq C , +.Qq POSIX , +or an unsupported value, each byte except the tab +is treated as a character of display width 1. +.El +.Sh EXIT STATUS +.Ex -std +The latter happens with invalid options, insufficient memory, +or when an input file is not found or not readable. +The >0 exit value is the sum of all errors up to a maximum of 127; +more errors may occur but the counter will only increment to this number. +.Sh SEE ALSO +.Xr indent 1 , +.Xr mail 1 , +.Xr vi 1 +.Sh HISTORY +The +.Nm +command first appeared in +.Bx 2 . +.Pp +The version described herein is a complete rewrite and appeared in +.Ox 2.4 . +.Sh AUTHORS +.An Kurt Shoens +(July 1978) +.An Liz Allen +(added goal length concept) +.An Gareth McCaughan +(wrote this version) +.Sh BUGS +The program was designed to be simple and fast \(en for more complex +operations, the standard text processors are likely to be more appropriate. +.Pp +When the first line of an indented paragraph is very long (more than +about twice the goal length), the indentation in the output can be +wrong. +.Pp +.Nm +is not infallible in guessing what lines are mail headers and what +lines are not. diff --git a/static/openbsd/man1/fold.1 b/static/openbsd/man1/fold.1 new file mode 100644 index 00000000..286fdb87 --- /dev/null +++ b/static/openbsd/man1/fold.1 @@ -0,0 +1,136 @@ +.\" $OpenBSD: fold.1,v 1.19 2016/10/24 13:46:58 schwarze Exp $ +.\" $NetBSD: fold.1,v 1.5 1995/09/01 01:42:42 jtc Exp $ +.\" +.\" Copyright (c) 1980, 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. 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. +.\" +.\" @(#)fold.1 8.1 (Berkeley) 6/6/93 +.\" +.Dd $Mdocdate: October 24 2016 $ +.Dt FOLD 1 +.Os +.Sh NAME +.Nm fold +.Nd fold long lines for finite width output device +.Sh SYNOPSIS +.Nm fold +.Op Fl bs +.Op Fl w Ar width +.Op Ar +.Sh DESCRIPTION +.Nm +is a filter which folds the contents of the specified files, +or the standard input if no files are specified, +breaking the lines to have a maximum of 80 display columns. +.Pp +The options are as follows: +.Bl -tag -width 8n +.It Fl b +Count +.Ar width +in bytes rather than column positions. +.It Fl s +If an output line would be broken after a non-blank character but +contains at least one blank character, break the line earlier, +after the last blank character. +This is useful to avoid line breaks in the middle of words, if +possible. +.It Fl w Ar width +Specifies a line width to use instead of the default of 80. +.El +.Pp +Unless +.Fl b +is specified, a backspace character decrements the column position +by one, a carriage return resets the column position to zero, and +a tab advances the column position to the next multiple of eight. +.Sh ENVIRONMENT +.Bl -tag -width 8n +.It Ev LC_CTYPE +The character encoding +.Xr locale 1 . +It decides which byte sequences form characters +and what their display width is. +If unset or set to +.Qq C , +.Qq POSIX , +or an unsupported value, each byte except backspace, tab, newline, +and carriage return is treated as a character of display width 1. +.El +.Sh EXIT STATUS +.Ex -std fold +.Sh SEE ALSO +.Xr expand 1 , +.Xr fmt 1 +.Sh STANDARDS +The +.Nm +utility is compliant with the +.St -p1003.1-2008 +specification. +.Sh HISTORY +The +.Nm +utility first appeared in +.Bx 1 . +It was rewritten for +.Bx 4.3 Reno +to improve speed and modernize style. +The +.Fl b +and +.Fl s +options were added to +.Nx 1.0 +for +.St -p1003.2 +compliance. +.Sh AUTHORS +.An -nosplit +.An Bill Joy +wrote the original version of +.Nm +on June 28, 1977. +.An Kevin Ruddy +rewrote the command in 1990, and +.An J. T. Conklin +added the missing options in 1993. +.Sh BUGS +Traditional +.Xr roff 7 +output semantics, implemented both by GNU nroff and by +.Xr mandoc 1 , +only uses a single backspace for backing up the previous character, +even for double-width characters. +The +.Nm +backspace semantics required by POSIX mishandles such backspace-encoded +sequences, breaking lines early. +The +.Xr fmt 1 +utility provides similar functionality and does not suffer from that +problem, but isn't standardized by POSIX. diff --git a/static/openbsd/man1/from.1 b/static/openbsd/man1/from.1 new file mode 100644 index 00000000..8026e4d3 --- /dev/null +++ b/static/openbsd/man1/from.1 @@ -0,0 +1,98 @@ +.\" $OpenBSD: from.1,v 1.13 2015/06/02 15:44:17 millert Exp $ +.\" $NetBSD: from.1,v 1.4 1995/09/01 01:39:09 jtc Exp $ +.\" +.\" Copyright (c) 1980, 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. 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. +.\" +.\" @(#)from.1 8.2 (Berkeley) 12/30/93 +.\" +.Dd $Mdocdate: June 2 2015 $ +.Dt FROM 1 +.Os +.Sh NAME +.Nm from +.Nd print names of those who have sent mail +.Sh SYNOPSIS +.Nm from +.Op Fl f Ar file +.Op Fl s Ar sender +.Op Ar user +.Sh DESCRIPTION +.Nm +prints +out the mail header lines from the invoker's mailbox. +.Pp +The options are as follows: +.Bl -tag -width Ds +.It Fl f Ar file +The supplied file +is examined instead of the invoker's mailbox. +If the +.Fl f +option is used, the +.Ar user +argument should not be used. +.It Fl s Ar sender +Only mail from addresses containing +the +supplied string are printed. +.El +.Pp +If +.Ar user +is given, the +.Ar user Ns 's +mailbox is examined instead of the invoker's own mailbox. +(Privileges are required.) +.Sh ENVIRONMENT +.Nm +utilizes the +.Ev LOGNAME , +.Ev MAIL , +and +.Ev USER +environment variables. +.Pp +If the +.Ev MAIL +environment variable is set, its value is used as the path to the +user's mail spool. +.Sh FILES +.Bl -tag -width /var/mail/* -compact +.It Pa /var/mail/* +.El +.Sh SEE ALSO +.Xr biff 1 , +.Xr mail 1 +.Sh HISTORY +The +.Nm +command appeared in +.Bx 2 . +.Sh AUTHORS +.An Bill Joy , +1979. diff --git a/static/openbsd/man1/fstat.1 b/static/openbsd/man1/fstat.1 new file mode 100644 index 00000000..53b9b44a --- /dev/null +++ b/static/openbsd/man1/fstat.1 @@ -0,0 +1,330 @@ +.\" $OpenBSD: fstat.1,v 1.60 2025/12/12 06:33:18 tb Exp $ +.\" +.\" Copyright (c) 1987, 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. 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. +.\" +.\" from: @(#)fstat.1 8.3 (Berkeley) 2/25/94 +.\" +.Dd $Mdocdate: December 12 2025 $ +.Dt FSTAT 1 +.Os +.Sh NAME +.Nm fstat +.Nd display status of open files +.Sh SYNOPSIS +.Nm fstat +.Op Fl fnosv +.Op Fl M Ar core +.Op Fl N Ar system +.Op Fl p Ar pid +.Op Fl u Ar user +.Op Ar +.Sh DESCRIPTION +.Nm +identifies open files. +A file is considered open by a process if it was explicitly opened, +is the working directory, root directory, active executable text, or kernel +trace file for that process. +If no options are specified, +.Nm +reports on all open files in the system. +.Pp +The options are as follows: +.Bl -tag -width Ds +.It Fl f +Restrict examination to files open in the same file systems as +the named file arguments, or to the file system containing the +current directory if there are no additional filename arguments. +For example, to find all files open in the file system where the +directory +.Pa /usr/src +resides, type +.Pp +.Dl # fstat -f /usr/src +.It Fl M Ar core +Extract values associated with the name list from the specified core +instead of the running kernel. +.It Fl N Ar system +Extract the name list from the specified system instead of the running kernel. +.It Fl n +Numerical format. +Print the device number (maj,min) of the file system +the file resides in rather than the mount point name. +For special files, print the +device number that the special device refers to rather than the filename +in +.Pa /dev . +Also, print the mode of the file in octal instead of symbolic form. +.It Fl o +Output file offset. +Follow the size field with the descriptor's offset. +Useful for checking progress as a process works through a large file. +This information is only visible to the user or superuser. +.It Fl p Ar pid +Report all files open by the specified process. +This option may be specified multiple times. +.It Fl s +Report per file io statistics in two additional columns +.Sq XFERS +and +.Sq KBYTES . +This information is only visible to the user or superuser. +.It Fl u Ar user +Report all files open by the specified user. +This option may be specified multiple times. +.It Fl v +Verbose mode. +Print error messages upon failures to locate particular +system data structures rather than silently ignoring them. +Most of these data structures are dynamically created or deleted and it is +possible for them to disappear while +.Nm +is running. +This is normal and unavoidable since the rest of the system is running while +.Nm +itself is running. +.It Ar +Restrict reports to the specified files. +.El +.Pp +The following fields are printed: +.Bl -tag -width MOUNT +.It Li USER +The username of the owner of the process (effective UID). +.It Li CMD +The command name of the process. +.It Li PID +The process ID. +.It Li FD +The file number in the per-process open file table or one of the following +special names: +.Pp +.Bl -tag -width "text" -offset indent -compact +.It text +executable text inode +.It wd +current working directory +.It root +root inode +.It tr +kernel trace file +.El +.Pp +If the file number is followed by an asterisk +.Pq Ql * , +the file is not an inode, but rather a socket, or there is an error. +In this case the remainder of the line doesn't +correspond to the remaining headers \(em the format of the line +is described later under +.Sx SOCKETS . +.It Li MOUNT +If the +.Fl n +flag wasn't specified, this header is present and is the +pathname that the file system the file resides in is mounted on. +.It Li DEV +If the +.Fl n +flag is specified, this header is present and is the +major/minor number of the device that this file resides in. +.It Li INUM +The inode number of the file. +It will be followed by an asterisk +.Pq Ql * +if the inode is unlinked from disk. +.It Li MODE +The mode of the file. +If the +.Fl n +flag isn't specified, the mode is printed +using a symbolic format (see +.Xr strmode 3 ) ; +otherwise, the mode is printed +as an octal number. +.It Li R/W +This column describes the properties of the file descriptor: +.Pp +.Bl -tag -width indent -compact +.It r +Open for reading +.It w +Open for writing +.It e +close-on-exec flag is set +.It f +close-on-fork flag is set +.It p +Opened after +.Xr pledge 2 +.El +.Pp +This field is useful when trying to find the processes that are +preventing a file system from being downgraded to read-only. +.It Li SZ | DV +If the file is not a character or block special file, prints the size of +the file in bytes. +Otherwise, if the +.Fl n +flag is not specified, prints +the name of the special file as located in +.Pa /dev . +If that cannot be located, or the +.Fl n +flag is specified, prints the major/minor device +number that the special device refers to. +.It Li NAME +If filename arguments are specified and the +.Fl f +flag is not, then +this field is present and is the name associated with the given file. +Normally the name cannot be determined since there is no mapping +from an open file back to the directory entry that was used to open +that file. +Also, since different directory entries may reference +the same file (via +.Xr ln 1 ) , +the name printed may not be the actual +name that the process originally used to open that file. +.It Li XFERS +Displays number of total data transfers performed on the file. +.It Li KBYTES +Displays total number of Kbytes written and read to the file. +.El +.Sh SOCKETS +The formatting of open sockets depends on the protocol domain. +In all cases the first field is the domain name +and the second field is the socket type (stream, dgram, etc). +The remaining fields are protocol dependent. +For TCP, it is the address of the tcpcb, and for UDP, the inpcb (socket pcb). +For +.Ux Ns -domain +sockets, it's the address of the socket pcb and the address +of the connected pcb (if connected). +Otherwise the protocol number and address of the socket itself are printed. +The attempt is to make enough information available to +permit further analysis without duplicating +.Xr netstat 1 . +.Pp +For example, the addresses mentioned above are the addresses which the +.Ic netstat -A +command would print for TCP, UDP, and +.Ux Ns -domain. +These addresses are only visible to the superuser, otherwise 0x0 is printed. +Sockets that have been disassociated from a protocol control block +will always print 0x0. +A unidirectional +.Ux Ns -domain +socket indicates the direction of flow with +an arrow +.Pf ( Dq <- +or +.Dq -> ) , +and a full duplex socket shows a double arrow +.Pq Dq <-> . +.Pp +For +.Dv AF_INET +and +.Dv AF_INET6 +sockets, +.Nm +also attempts to print the internet address and port for the +local end of a connection. +If the socket is connected, it also prints the remote internet address +and port. +A +.Ql * +is used to indicate an +.Dv INADDR_ANY +binding. +In this case, the +use of the arrow +.Pf ( Dq <-- +or +.Dq --> ) +indicates the direction the socket connection was created. +.Pp +If the socket has been spliced to or from another socket (see +.Xr setsockopt 2 +and +.Dv SO_SPLICE ) +then +.Nm +prints a thick arrow +.Pf ( Dq <==> , +.Dq <== , +or +.Dq ==> ) , +followed by the address and endpoint information of the other socket +in the splice, +if available. +.Sh PIPES +Every pipe is printed as an address which is the same for both sides of +the pipe and a state that is built of the letters +.Dq RWE . +W \- The pipe blocks waiting for the reader to read data. +R \- The pipe blocks waiting for the writer to write data. +E \- The pipe is in EOF state. +.Sh KQUEUE +Each +.Xr kqueue 2 +is printed with some information as to queue length. +Since these things are normally serviced quickly, it is likely that +nothing of real importance can be discerned. +.Sh SEE ALSO +.Xr netstat 1 , +.Xr nfsstat 1 , +.Xr ps 1 , +.Xr systat 1 , +.Xr top 1 , +.Xr iostat 8 , +.Xr pstat 8 , +.Xr tcpdrop 8 , +.Xr vmstat 8 +.Sh HISTORY +The +.Nm +command appeared in +.Bx 4.3 tahoe . +.Sh CAVEATS +Sockets in use by the kernel, such as those opened by +.Xr nfsd 8 , +will not be seen by +.Nm , +even though they appear in +.Xr netstat 1 . +.Sh BUGS +Since +.Nm +takes a snapshot of the system, it is only correct for a very short period +of time. +.Pp +Moreover, because DNS resolution and YP lookups cause many file +descriptor changes, +.Nm +does not attempt to translate the internet address and port numbers into +symbolic names. diff --git a/static/openbsd/man1/ftp.1 b/static/openbsd/man1/ftp.1 new file mode 100644 index 00000000..c5dde04b --- /dev/null +++ b/static/openbsd/man1/ftp.1 @@ -0,0 +1,1821 @@ +.\" $OpenBSD: ftp.1,v 1.124 2022/09/15 12:47:10 millert Exp $ +.\" $NetBSD: ftp.1,v 1.22 1997/08/18 10:20:22 lukem Exp $ +.\" +.\" Copyright (c) 1985, 1989, 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. 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. +.\" +.\" @(#)ftp.1 8.3 (Berkeley) 10/9/94 +.\" +.Dd $Mdocdate: September 15 2022 $ +.Dt FTP 1 +.Os +.Sh NAME +.Nm ftp +.Nd Internet file transfer program +.Sh SYNOPSIS +.Nm ftp +.Op Fl 46AadEegiMmnptVv +.Op Fl D Ar title +.Op Fl k Ar seconds +.Op Fl P Ar port +.Op Fl r Ar seconds +.Op Fl s Ar sourceaddr +.Op Ar host Op Ar port +.Nm ftp +.Op Fl C +.Op Fl N Ar name +.Op Fl o Ar output +.Op Fl s Ar sourceaddr +.Sm off +.Pf ftp:// Op Ar user : password No @ +.Ar host Op : Ar port +.No / Ar file Op / +.Sm on +.Ar ... +.Nm ftp +.Op Fl CTu +.Op Fl c Ar cookie +.Op Fl N Ar name +.Op Fl o Ar output +.Op Fl S Ar ssl_options +.Op Fl s Ar sourceaddr +.Op Fl U Ar useragent +.Op Fl w Ar seconds +.Sm off +.Pf http Oo s Oc :// +.Op Ar user : password No @ +.Ar host Op : Ar port +.No / Ar file +.Sm on +.Ar ... +.Nm ftp +.Op Fl C +.Op Fl N Ar name +.Op Fl o Ar output +.Op Fl s Ar sourceaddr +.Pf file: Ar +.Nm ftp +.Op Fl C +.Op Fl N Ar name +.Op Fl o Ar output +.Op Fl s Ar sourceaddr +.Ar host : Ns / Ns Ar file Ns Op / +.Ar ... +.Sh DESCRIPTION +.Nm +is the user interface to the Internet standard File Transfer +Protocol (FTP). +The program allows a user to transfer files to and from a +remote network site. +.Pp +The latter four usage formats will fetch a file using either the +FTP, HTTP, or HTTPS protocols into the current directory. +This is ideal for scripts. +Refer to +.Sx AUTO-FETCHING FILES +below for more information. +.Pp +The options are as follows: +.Bl -tag -width Ds +.It Fl 4 +Forces +.Nm +to use IPv4 addresses only. +.It Fl 6 +Forces +.Nm +to use IPv6 addresses only. +.It Fl A +Force active mode FTP. +By default, +.Nm +will try to use passive mode FTP and fall back to active mode +if passive is not supported by the server. +This option causes +.Nm +to always use an active connection. +It is only useful for connecting +to very old servers that do not implement passive mode properly. +.It Fl a +Causes +.Nm +to bypass the normal login procedure and use an anonymous login instead. +.It Fl C +Continue a previously interrupted file transfer. +.Nm +will continue transferring from an offset equal to the length of +.Ar file . +.Pp +Resuming HTTP(S) transfers are only supported +if the remote server supports the +.Dq Range +header. +.It Fl c Ar cookie +Load a Netscape-like cookiejar file +for HTTP and HTTPS transfers. +With this option relevant cookies from the jar are sent with each HTTP(S) +request. +Setting the +.Ev http_cookies +environment variable has the same effect. +If both the +.Ev http_cookies +environment variable is set and the +.Fl c +argument is given, the latter takes precedence. +.It Fl D Ar title +Specify a short +.Ar title +for the start of the progress bar. +.It Fl d +Enables debugging. +.It Fl E +Disables EPSV/EPRT command on IPv4 connections. +.It Fl e +Disables command line editing. +Useful for Emacs ange-ftp. +.It Fl g +Disables file name globbing. +.It Fl i +Turns off interactive prompting during +multiple file transfers. +.It Fl k Ar seconds +When greater than zero, +sends a byte after each +.Ar seconds +period over the control connection during long transfers, +so that incorrectly configured network equipment won't +aggressively drop it. +The FTP protocol supports a +.Dv NOOP +command that can be used for that purpose. +This assumes the FTP server can deal with extra commands coming over +the control connection during a transfer. +Well-behaved servers queue those commands, and process them after the +transfer. +By default, +.Nm +will send a byte every 60 seconds. +.It Fl M +Causes +.Nm +to never display the progress meter in cases where it would do +so by default. +.It Fl m +Causes +.Nm +to always display the progress meter in cases where it would not do +so by default. +.It Fl N Ar name +Use this alternative name instead of +.Nm +in some error reports. +.It Fl n +Restrains +.Nm +from attempting +.Dq auto-login +upon initial connection. +If auto-login is enabled, +.Nm +will check the +.Pa .netrc +file (see below) in the user's home directory for an entry describing +an account on the remote machine. +If no entry exists, +.Nm +will prompt for the remote machine login name (default is the user +identity on the local machine) and, if necessary, prompt for a password +and an account with which to log in. +.It Fl o Ar output +When fetching a single file or URL, save the contents in +.Ar output . +To make the contents go to stdout, +use +.Sq - +for +.Ar output . +.It Fl P Ar port +Sets the port number to +.Ar port . +.It Fl p +Enable passive mode operation for use behind connection filtering firewalls. +This option has been deprecated as +.Nm +now tries to use passive mode by default, falling back to active mode +if the server does not support passive connections. +.It Fl r Ar seconds +Retry to connect if failed, pausing for number of +.Ar seconds . +.It Fl S Ar ssl_options +SSL/TLS options to use with HTTPS transfers. +The following settings are available: +.Bl -tag -width Ds +.It Cm cafile Ns = Ns Ar /path/to/cert.pem +PEM encoded file containing CA certificates used for certificate +validation. +.It Cm capath Ns = Ns Ar /path/to/certs/ +Directory containing PEM encoded CA certificates used for certificate +validation. +Such a directory can be prepared using the c_rehash script distributed with +OpenSSL. +.It Cm ciphers Ns = Ns Ar cipher_list +Specify the list of ciphers that will be used by +.Nm . +See the +.Xr openssl 1 +.Cm ciphers +subcommand. +.It Cm depth Ns = Ns Ar max_depth +Maximum depth of the certificate chain allowed when performing +validation. +.It Cm do +Perform server certificate validation. +.It Cm dont +Don't perform server certificate validation. +.It Cm muststaple +Require the server to present a valid OCSP stapling in the TLS handshake. +.It Cm noverifytime +Disable validation of certificate times and OCSP validation. +.It Cm protocols Ns = Ns Ar protocol_list +Specify the TLS protocols that will be supported by +.Nm +(see +.Xr tls_config_parse_protocols 3 +for details). +.It Cm session Ns = Ns Ar /path/to/session +Specify a file to use for TLS session data. +If this file has a non-zero length, the session data will be read from this file +and the client will attempt to resume the TLS session with the server. +Upon completion of a successful TLS handshake this file will be updated +with new session data, if available. +This file will be created if it does not already exist. +.El +.Pp +By default, server certificate validation is performed, and if it fails +.Nm +will abort. +If no +.Cm cafile +or +.Cm capath +setting is provided, +.Pa /etc/ssl/cert.pem +will be used. +.It Fl s Ar sourceaddr +Set the source address for connections, which is useful on machines +with multiple interfaces. +.It Fl T +Send an +.Dq If-Modified-Since +header to the remote to determine if the remote file's timestamp +has changed. +.It Fl t +Enables packet tracing. +.It Fl U Ar useragent +Set +.Ar useragent +as the User-Agent for HTTP(S) URL requests. +If not specified, the default User-Agent is +.Dq OpenBSD ftp . +.It Fl u +Disable setting the local file's timestamps based +on the +.Dq Last-Modified +header. +By default the local file's timestamps are set to match those +from the remote. +.It Fl V +Disable verbose mode, overriding the default of enabled when input +is from a terminal. +.It Fl v +Enable verbose mode. +This is the default if input is from a terminal. +Forces +.Nm +to show all responses from the remote server, as well +as report on data transfer statistics. +.It Fl w Ar seconds +Wait for +.Ar seconds +for the remote server to connect before giving up. +.El +.Pp +The host with which +.Nm +is to communicate may be specified on the command line. +If this is done, +.Nm +will immediately attempt to establish a connection to an +FTP server on that host; otherwise, +.Nm +will enter its command interpreter and await instructions +from the user. +When +.Nm +is awaiting commands, the prompt +.Dq ftp\*(Gt +is provided to the user. +The following commands are recognized +by +.Nm : +.Bl -tag -width Ds +.It Ic \&! Oo Ar command +.Op Ar arg ... +.Oc +Invoke an interactive shell on the local machine. +If there are arguments, the first is taken to be a command to execute +directly, with the rest of the arguments as its arguments. +.It Ic \&$ Ar macro-name Op Ar arg ... +Execute the macro +.Ar macro-name +that was defined with the +.Ic macdef +command. +Arguments are passed to the macro unglobbed. +.It Ic \&? Op Ar command +A synonym for +.Ic help . +.It Ic account Op Ar password +Supply a supplemental password required by a remote system for access +to resources once a login has been successfully completed. +If no argument is included, the user will be prompted for an account +password in a non-echoing input mode. +.It Ic append Ar local-file Op Ar remote-file +Append a local file to a file on the remote machine. +If +.Ar remote-file +is left unspecified, the local file name is used in naming the +remote file after being altered by any +.Ic ntrans +or +.Ic nmap +setting. +File transfer uses the current settings for +.Ic type , +.Ic format , +.Ic mode , +and +.Ic structure . +.It Ic ascii +Set the file transfer +.Ic type +to network ASCII. +.It Ic bell Op Ic on | off +Arrange that a bell be sounded after each file transfer +command is completed. +.It Ic binary +Set the file transfer +.Ic type +to support binary image transfer. +This is the default type. +.It Ic bye +Terminate the FTP session with the remote server and exit +.Nm . +An end-of-file will also terminate the session and exit. +.It Ic case Op Ic on | off +Toggle remote computer file name case mapping during +.Ic mget +commands. +When +.Ic case +is on (default is off), remote computer file names with all letters in +upper case are written in the local directory with the letters mapped +to lower case. +.It Ic cd Ar remote-directory +Change the working directory on the remote machine +to +.Ar remote-directory . +.It Ic cdup +Change the remote machine working directory to the parent of the +current remote machine working directory. +.It Ic chmod Ar mode file +Change the permission modes of +.Ar file +on the remote +system to +.Ar mode . +.It Ic close +Terminate the FTP session with the remote server and +return to the command interpreter. +Any defined macros are erased. +.It Ic cr Op Ic on | off +Toggle carriage return stripping during +ASCII type file retrieval. +Records are denoted by a carriage return/linefeed sequence +during ASCII type file transfer. +When +.Ic cr +is on (the default), carriage returns are stripped from this +sequence to conform with the +.Ux +single linefeed record delimiter. +Records on non-UNIX +remote systems may contain single linefeeds; +when an ASCII type transfer is made, these linefeeds may be +distinguished from a record delimiter only when +.Ic cr +is off. +.It Ic debug Oo Ic on | off | +.Ar debuglevel +.Oc +Toggle debugging mode. +If an optional +.Ar debuglevel +is specified, it is used to set the debugging level. +When debugging is on, +.Nm +prints each command sent to the remote machine, +preceded by the string +.Ql --\*(Gt . +.It Ic delete Ar remote-file +Delete the file +.Ar remote-file +on the remote machine. +.It Ic dir Op Ar remote-directory Op Ar local-file +A synonym for +.Ic ls . +.It Ic disconnect +A synonym for +.Ic close . +.It Ic edit Op Ic on | off +Toggle command line editing, and context sensitive command and file +completion. +This is automatically enabled if input is from a terminal, and +disabled otherwise. +.It Ic epsv4 Op Ic on | off +Toggle use of EPSV/EPRT command on IPv4 connection. +.It Ic exit +A synonym for +.Ic bye . +.It Ic form Ar format +Set the file transfer +.Ic form +to +.Ar format . +The default format is +.Dq file . +.It Ic ftp Ar host Op Ar port +A synonym for +.Ic open . +.It Ic gate Oo Ic on | off | +.Ar host Op Ar port +.Oc +Toggle gate-ftp mode. +This will not be permitted if the gate-ftp server hasn't been set +(either explicitly by the user, or from the +.Ev FTPSERVER +environment variable). +If +.Ar host +is given, +then gate-ftp mode will be enabled, and the gate-ftp server will be set to +.Ar host . +If +.Ar port +is also given, that will be used as the port to connect to on the +gate-ftp server. +.It Ic get Ar remote-file Op Ar local-file +Retrieve the +.Ar remote-file +and store it on the local machine. +If the local +file name is not specified, it is given the same +name it has on the remote machine, subject to +alteration by the current +.Ic case , +.Ic ntrans , +and +.Ic nmap +settings. +The current settings for +.Ic type , +.Ic form , +.Ic mode , +and +.Ic structure +are used while transferring the file. +.It Ic glob Op Ic on | off +Toggle filename expansion for +.Ic mdelete , +.Ic mget +and +.Ic mput . +If globbing is turned off with +.Ic glob , +the file name arguments +are taken literally and not expanded. +Globbing for +.Ic mput +is done as in +.Xr csh 1 . +For +.Ic mdelete +and +.Ic mget , +each remote file name is expanded +separately on the remote machine and the lists are not merged. +Expansion of a directory name is likely to be +different from expansion of the name of an ordinary file: +the exact result depends on the foreign operating system and FTP server, +and can be previewed by doing +.Dq mls remote-files - . +Note: +.Ic mget +and +.Ic mput +are not meant to transfer +entire directory subtrees of files. +That can be done by +transferring a +.Xr tar 1 +archive of the subtree (in binary mode). +.It Ic hash Oo Ic on | off | +.Ar size +.Oc +Toggle hash mark +.Pq Ql # +printing for each data block transferred. +The size of a data block defaults to 1024 bytes. +This can be changed by specifying +.Ar size +in bytes. +.It Ic help Op Ar command +Print an informative message about the meaning of +.Ar command . +If no argument is given, +.Nm +prints a list of the known commands. +.It Ic idle Op Ar seconds +Set the inactivity timer on the remote server to +.Ar seconds +seconds. +If +.Ar seconds +is omitted, the current inactivity timer is printed. +.It Ic lcd Op Ar local-directory +Change the working directory on the local machine. +If +no +.Ar local-directory +is specified, the user's home directory is used. +.It Ic less Ar file +A synonym for +.Ic page . +.It Ic lpwd +Print the working directory on the local machine. +.It Ic ls Op Ar remote-directory Op Ar local-file +Print a listing of the contents of a directory on the remote machine. +The listing includes any system-dependent information that the server +chooses to include; for example, most +.Ux +systems will produce output from the command +.Ql ls -l . +If +.Ar remote-directory +is left unspecified, the current working directory is used. +If interactive prompting is on, +.Nm +will prompt the user to verify that the last argument is indeed the +target local file for receiving +.Ic ls +output. +If no local file is specified, or if +.Ar local-file +is +.Sq - , +the output is sent to the terminal. +.It Ic macdef Ar macro-name +Define a macro. +Subsequent lines are stored as the macro +.Ar macro-name ; +a null line (consecutive newline characters +in a file or +carriage returns from the terminal) terminates macro input mode. +There is a limit of 16 macros and 4096 total characters in all +defined macros. +Macro names can be a maximum of 8 characters. +Macros are only applicable to the current session they are +defined in (or if defined outside a session, to the session +invoked with the next +.Ic open +command), and remain defined until a +.Ic close +command is executed. +To invoke a macro, +use the +.Ic $ +command (see above). +.Pp +The macro processor interprets +.Ql $ +and +.Ql \e +as special characters. +A +.Ql $ +followed by a number (or numbers) is replaced by the +corresponding argument on the macro invocation command line. +A +.Ql $ +followed by an +.Sq i +tells the macro processor that the +executing macro is to be looped. +On the first pass +.Ql $i +is +replaced by the first argument on the macro invocation command line, +on the second pass it is replaced by the second argument, and so on. +A +.Ql \e +followed by any character is replaced by that character. +Use the +.Ql \e +to prevent special treatment of the +.Ql $ . +.It Ic mdelete Op Ar remote-files +Delete the +.Ar remote-files +on the remote machine. +.It Ic mdir Ar remote-files local-file +A synonym for +.Ic mls . +.It Xo Ic mget +.Op Fl cnr +.Op Fl d Ar depth +.Ar remote-files +.Xc +Expand the +.Ar remote-files +on the remote machine +and do a +.Ic get +for each file name thus produced. +See +.Ic glob +for details on the filename expansion. +Resulting file names will then be processed according to +.Ic case , +.Ic ntrans , +and +.Ic nmap +settings. +Files are transferred into the local working directory, +which can be changed with +.Ql lcd directory ; +new local directories can be created with +.Ql "\&! mkdir directory" . +.Pp +The options are as follows: +.Bl -tag -width Ds +.It Fl c +Use +.Ic reget +instead of +.Ic get . +.It Fl d Ar depth +Specify the maximum recursion level +.Ar depth . +The default is 0, which means unlimited. +.It Fl n +Use +.Ic newer +instead of +.Ic get . +.It Fl r +Recursively descend the directory tree, transferring all files and +directories. +.El +.It Ic mkdir Ar directory-name +Make a directory on the remote machine. +.It Ic mls Ar remote-files local-file +Like +.Ic ls , +except multiple remote files may be specified, +and the +.Ar local-file +must be specified. +If interactive prompting is on, +.Nm +will prompt the user to verify that the last argument is indeed the +target local file for receiving +.Ic mls +output. +.It Ic mode Op Ar mode-name +Set the file transfer +.Ic mode +to +.Ar mode-name . +The default mode is +.Dq stream +mode. +.It Ic modtime Ar file +Show the last modification time of +.Ar file +on the remote machine. +.It Ic more Ar file +A synonym for +.Ic page . +.It Xo Ic mput +.Op Fl cr +.Op Fl d Ar depth +.Ar local-files +.Xc +Expand wild cards in the list of local files given as arguments +and do a +.Ic put +for each file in the resulting list. +See +.Ic glob +for details of filename expansion. +Resulting file names will then be processed according to +.Ic ntrans +and +.Ic nmap +settings. +.Pp +The options are as follows: +.Bl -tag -width Ds +.It Fl c +Use +.Ic reput +instead of +.Ic put . +.It Fl d Ar depth +Specify the maximum recursion level +.Ar depth . +The default is 0, which means unlimited. +.It Fl r +Recursively descend the directory tree, transferring all files and +directories. +.El +.It Xo Ic msend +.Op Fl c +.Ar local-files +.Xc +A synonym for +.Ic mput . +.It Ic newer Ar remote-file Op Ar local-file +Get the file only if the modification time of the remote file is more +recent than the file on the current system. +If the file does not +exist on the current system, the remote file is considered +.Ic newer . +Otherwise, this command is identical to +.Ar get . +.It Ic nlist Op Ar remote-directory Op Ar local-file +Print a list of the files in a +directory on the remote machine. +If +.Ar remote-directory +is left unspecified, the current working directory is used. +If interactive prompting is on, +.Nm +will prompt the user to verify that the last argument is indeed the +target local file for receiving +.Ic nlist +output. +If no local file is specified, or if +.Ar local-file +is +.Sq - , +the output is sent to the terminal. +Note that on some servers, the +.Ic nlist +command will only return information on normal files (not directories +or special files). +.It Ic nmap Op Ar inpattern outpattern +Set or unset the filename mapping mechanism. +If no arguments are specified, the filename mapping mechanism is unset. +If arguments are specified, remote filenames are mapped during +.Ic mput +commands and +.Ic put +commands issued without a specified remote target filename. +If arguments are specified, local filenames are mapped during +.Ic mget +commands and +.Ic get +commands issued without a specified local target filename. +This command is useful when connecting to a non-UNIX remote computer +with different file naming conventions or practices. +.Pp +The mapping follows the pattern set by +.Ar inpattern +and +.Ar outpattern . +.Ar inpattern +is a template for incoming filenames (which may have already been +processed according to the +.Ic ntrans +and +.Ic case +settings). +Variable templating is accomplished by including the +sequences +.Ql $1 , +.Ql $2 , +\&..., +.Ql $9 +in +.Ar inpattern . +Use +.Ql \e +to prevent this special treatment of the +.Ql $ +character. +All other characters are treated literally, and are used to determine the +.Ic nmap +.Ar inpattern +variable values. +.Pp +For example, given +.Ar inpattern +$1.$2 and the remote file name "mydata.data", $1 would have the value +"mydata", and $2 would have the value "data". +The +.Ar outpattern +determines the resulting mapped filename. +The sequences +.Ql $1 , +.Ql $2 , +\&..., +.Ql $9 +are replaced by any value resulting from the +.Ar inpattern +template. +The sequence +.Ql $0 +is replaced by the original filename. +Additionally, the sequence +.Sq Op Ar seq1 , Ar seq2 +is replaced by +.Ar seq1 +if +.Ar seq1 +is not a null string; otherwise it is replaced by +.Ar seq2 . +For example: +.Pp +.Dl nmap $1.$2.$3 [$1,$2].[$2,file] +.Pp +This command would yield the output filename +.Pa myfile.data +for input filenames +.Pa myfile.data +and +.Pa myfile.data.old ; +.Pa myfile.file +for the input filename +.Pa myfile ; +and +.Pa myfile.myfile +for the input filename +.Pa .myfile . +Spaces may be included in +.Ar outpattern +by quoting them, +as in the following example: +.Bd -literal -offset indent +nmap $1.$2 "$1 $2" +.Ed +.Pp +Use the +.Ql \e +character to prevent special treatment +of the +.Ql $ , +.Ql \&[ , +.Ql \&] , +and +.Ql \&, +characters. +.It Ic ntrans Op Ar inchars Op Ar outchars +Set or unset the filename character translation mechanism. +If no arguments are specified, the filename character +translation mechanism is unset. +If arguments are specified, characters in +remote filenames are translated during +.Ic mput +commands and +.Ic put +commands issued without a specified remote target filename. +If arguments are specified, characters in +local filenames are translated during +.Ic mget +commands and +.Ic get +commands issued without a specified local target filename. +This command is useful when connecting to a non-UNIX remote computer +with different file naming conventions or practices. +Characters in a filename matching a character in +.Ar inchars +are replaced with the corresponding character in +.Ar outchars . +If the character's position in +.Ar inchars +is longer than the length of +.Ar outchars , +the character is deleted from the file name. +.It Ic open Ar host Op Ar port +Establish a connection to the specified +.Ar host +FTP server. +An optional port number may be supplied, +in which case +.Nm +will attempt to contact an FTP server at that port. +If the +.Ic auto-login +option is on (default), +.Nm +will also attempt to automatically log the user in to +the FTP server (see below). +.It Ic page Ar file +Retrieve +.Ic file +and display with the program defined in +.Ev PAGER +(defaulting to +.Xr more 1 +if +.Ev PAGER +is null or not defined). +.It Ic passive Op Ic on | off +Toggle passive mode. +If passive mode is turned on (default is on), +.Nm +will send a +.Dv EPSV +command for all data connections instead of the usual +.Dv PORT +command. +The +.Dv PASV +command requests that the remote server open a port for the data connection +and return the address of that port. +The remote server listens on that port and the client connects to it. +When using the more traditional +.Dv PORT +command, the client listens on a port and sends that address to the remote +server, who connects back to it. +Passive mode is useful when using +.Nm +through a gateway router or host that controls the directionality of +traffic. +(Note that though FTP servers are required to support the +.Dv PASV +command by RFC 1123, some do not.) +.It Ic preserve Op Ic on | off +Toggle preservation of modification times on retrieved files. +.It Ic progress Op Ic on | off +Toggle display of transfer progress bar. +The progress bar will be disabled for a transfer that has +.Ar local-file +as +.Sq - +or a command that starts with +.Sq \&| . +Refer to +.Sx FILE NAMING CONVENTIONS +for more information. +.It Ic prompt Op Ic on | off +Toggle interactive prompting. +Interactive prompting +occurs during multiple file transfers to allow the +user to selectively retrieve or store files. +If prompting is turned off (default is on), any +.Ic mget +or +.Ic mput +will transfer all files, and any +.Ic mdelete +will delete all files. +.Pp +When prompting is on, the following commands are available at a prompt: +.Bl -tag -width 2n -offset indent +.It Ic ?\& +Print help message. +.It Ic a +Answer +.Dq yes +to the current file and automatically answer +.Dq yes +to any remaining files for the current command. +.It Ic n +Do not transfer the file. +.It Ic p +Answer +.Dq yes +to the current file and turn off prompt mode +(as if +.Dq prompt off +had been given). +.It Ic q +Answer +.Dq no +to the current file and automatically answer +.Dq no +to any remaining files for the current command. +.It Ic y +Transfer the file. +.El +.It Ic proxy Ar command +Execute an FTP command on a secondary control connection. +This command allows simultaneous connection to two remote FTP +servers for transferring files between the two servers. +The first +.Ic proxy +command should be an +.Ic open , +to establish the secondary control connection. +Enter the command +.Ic proxy ?\& +to see other FTP commands executable on the +secondary connection. +The following commands behave differently when prefaced by +.Ic proxy : +.Ic open +will not define new macros during the auto-login process; +.Ic close +will not erase existing macro definitions; +.Ic get +and +.Ic mget +transfer files from the host on the primary control connection +to the host on the secondary control connection; and +.Ic put , +.Ic mput , +and +.Ic append +transfer files from the host on the secondary control connection +to the host on the primary control connection. +Third party file transfers depend upon support of the FTP protocol +.Dv PASV +command by the server on the secondary control connection. +.It Ic put Ar local-file Op Ar remote-file +Store a local file on the remote machine. +If +.Ar remote-file +is left unspecified, the local file name is used +after processing according to any +.Ic ntrans +or +.Ic nmap +settings +in naming the remote file. +File transfer uses the +current settings for +.Ic type , +.Ic format , +.Ic mode , +and +.Ic structure . +.It Ic pwd +Print the name of the current working directory on the remote +machine. +.It Ic quit +A synonym for +.Ic bye . +.It Ic quote Ar arg ... +The arguments specified are sent, verbatim, to the remote FTP server. +.It Ic recv Ar remote-file Op Ar local-file +A synonym for +.Ic get . +.It Ic reget Ar remote-file Op Ar local-file +Reget acts like get, except that if +.Ar local-file +exists and is +smaller than +.Ar remote-file , +.Ar local-file +is presumed to be +a partially transferred copy of +.Ar remote-file +and the transfer +is continued from the apparent point of failure. +This command +is useful when transferring very large files over networks that +are prone to dropping connections. +.It Ic rename Ar from-name to-name +Rename the file +.Ar from-name +on the remote machine to the file +.Ar to-name . +.It Ic reput Ar local-file Op Ar remote-file +Reput acts like put, except that if +.Ar remote-file +exists and is +smaller than +.Ar local-file , +.Ar remote-file +is presumed to be +a partially transferred copy of +.Ar local-file +and the transfer +is continued from the apparent point of failure. +This command +is useful when transferring very large files over networks that +are prone to dropping connections. +.It Ic reset +Clear reply queue. +This command re-synchronizes command/reply sequencing with the remote +FTP server. +Resynchronization may be necessary following a violation of the FTP protocol +by the remote server. +.It Ic restart Ar marker +Restart the immediately following +.Ic get +or +.Ic put +at the +indicated +.Ar marker . +On +.Ux +systems, +.Ar marker +is usually a byte +offset into the file. +.It Ic rhelp Op Ar command-name +Request help from the remote FTP server. +If a +.Ar command-name +is specified, it is supplied to the server as well. +.It Ic rmdir Ar directory-name +Delete a directory on the remote machine. +.It Ic rstatus Op Ar file +With no arguments, show status of remote machine. +If +.Ar file +is specified, show status of +.Ar file +on remote machine. +.It Ic runique Op Ic on | off +Toggle storing of files on the local system with unique filenames. +If a file already exists with a name equal to the target +local filename for a +.Ic get +or +.Ic mget +command, a +.Dq .1 +is appended to the name. +If the resulting name matches another existing file, +a +.Dq .2 +is appended to the original name. +If this process continues up to +.Dq .99 , +an error message is printed, and the transfer does not take place. +The generated unique filename will be reported. +Note that +.Ic runique +will not affect local files generated from a shell command +(see below). +The default value is off. +.It Ic send Ar local-file Op Ar remote-file +A synonym for +.Ic put . +.It Ic sendport Op Ic on | off +Toggle the use of +.Dv PORT +commands. +By default, +.Nm +will attempt to use a +.Dv PORT +command when establishing +a connection for each data transfer. +The use of +.Dv PORT +commands can prevent delays +when performing multiple file transfers. +If the +.Dv PORT +command fails, +.Nm +will use the default data port. +When the use of +.Dv PORT +commands is disabled, no attempt will be made to use +.Dv PORT +commands for each data transfer. +This is useful for certain FTP implementations which do ignore +.Dv PORT +commands but, incorrectly, indicate they've been accepted. +.It Ic site Ar arg ... +The arguments specified are sent, verbatim, to the remote FTP server as a +.Dv SITE +command. +.It Ic size Ar file +Return size of +.Ar file +on remote machine. +.It Ic status +Show the current status of +.Nm . +.\" .It Ic struct Op Ar struct-name +.\" Set the file transfer +.\" .Ar structure +.\" to +.\" .Ar struct-name . +.\" By default, +.\" .Dq file +.\" structure is used. +.It Ic sunique Op Ic on | off +Toggle storing of files on remote machine under unique file names. +The remote FTP server must support the FTP protocol +.Dv STOU +command for +successful completion. +The remote server will report the unique name. +Default value is off. +.It Ic system +Show the type of operating system running on the remote machine. +.It Ic trace Op Ic on | off +Toggle packet tracing. +.It Ic type Op Ar type-name +Set the file transfer +.Ic type +to +.Ar type-name . +If no type is specified, the current type +is printed. +The default type is +.Dq binary . +.It Ic umask Op Ar newmask +Set the default umask on the remote server to +.Ar newmask . +If +.Ar newmask +is omitted, the current umask is printed. +.It Xo +.Ic user Ar username +.Op Ar password Op Ar account +.Xc +Identify yourself to the remote FTP server. +If the +.Ar password +is not specified and the server requires it, +.Nm +will prompt the user for it (after disabling local echo). +If an +.Ar account +field is not specified, and the FTP server requires it, +the user will be prompted for it. +If an +.Ar account +field is specified, an account command will +be relayed to the remote server after the login sequence +is completed if the remote server did not require it +for logging in. +Unless +.Nm +is invoked with +.Dq auto-login +disabled, this process is done automatically on initial connection to the +FTP server. +.It Ic verbose Op Ic on | off +Toggle verbose mode. +In verbose mode, all responses from +the FTP server are displayed to the user. +In addition, +if verbose is on, when a file transfer completes, statistics +regarding the efficiency of the transfer are reported. +By default, +verbose is on. +.El +.Pp +Command arguments which have embedded spaces may be quoted with +quote +.Pq Ql \&" +marks. +.Pp +Commands which toggle settings can take an explicit +.Ic on +or +.Ic off +argument to force the setting appropriately. +.Pp +If +.Nm +receives a +.Dv SIGINFO +(see the +.Dq status +argument of +.Xr stty 1 ) +signal whilst a transfer is in progress, the current transfer rate +statistics will be written to the standard error output, in the +same format as the standard completion message. +.Sh AUTO-FETCHING FILES +In addition to standard commands, this version of +.Nm +supports an auto-fetch feature. +To enable auto-fetch, simply pass the list of hostnames/files +on the command line. +.Pp +The following formats are valid syntax for an auto-fetch element: +.Bl -tag -width Ds +.It Ar host : Ns / Ns Ar file Ns Op / +.Dq Classic +.Nm +format. +.Sm off +.It Xo +.Pf ftp:// Op Ar user : password No @ +.Ar host Op : Ar port +.No / Ar file Op / +.Xc +.Sm on +An FTP URL, retrieved using the FTP protocol if +.Ev ftp_proxy +isn't defined. +Otherwise, transfer using HTTP via the proxy defined in +.Ev ftp_proxy . +If a +.Ar user +and +.Ar password +are given and +.Ev ftp_proxy +isn't defined, +log in as +.Ar user +with a password of +.Ar password . +.Sm off +.It Xo +.Pf http:// Op Ar user : password No @ +.Ar host Op : Ar port +.No / Ar file +.Xc +.Sm on +An HTTP URL, retrieved using the HTTP protocol. +If +.Ev http_proxy +is defined, it is used as a URL to an HTTP proxy server. +If a +.Ar user +and +.Ar password +are given and +.Ev http_proxy +isn't defined, +log in as +.Ar user +with a password of +.Ar password +using Basic authentication. +.Sm off +.It Xo +.Pf https:// Op Ar user : password No @ +.Ar host Op : Ar port +.No / Ar file +.Xc +.Sm on +An HTTPS URL, retrieved using the HTTPS protocol. +If +.Ev http_proxy +is defined, this HTTPS proxy server will be used to fetch the +file using the CONNECT method. +If a +.Ar user +and +.Ar password +are given and +.Ev http_proxy +isn't defined, +log in as +.Ar user +with a password of +.Ar password +using Basic authentication. +.It Pf file: Ar file +.Ar file +is retrieved from a mounted file system. +.El +.Pp +If a classic format or an FTP URL format has a trailing +.Sq / , +then +.Nm +will connect to the site and +.Ic cd +to the directory given as the path, and leave the user in interactive +mode ready for further input. +.Pp +If +.Ar file +contains a glob character and globbing is enabled +(see +.Ic glob ) , +then the equivalent of +.Ic mget Ar file +is performed. +.Pp +If no +.Fl o +option is specified, and +the directory component of +.Ar file +contains no globbing characters, +then +it is stored in the current directory as the +.Xr basename 1 +of +.Ar file . +If +.Fl o Ar output +is specified, then +.Ar file +is stored as +.Ar output . +Otherwise, the remote name is used as the local name. +.Sh ABORTING A FILE TRANSFER +To abort a file transfer, use the terminal interrupt key +(usually Ctrl-C). +Sending transfers will be immediately halted. +Receiving transfers will be halted by sending an FTP protocol +.Dv ABOR +command to the remote server, and discarding any further data received. +The speed at which this is accomplished depends upon the remote +server's support for +.Dv ABOR +processing. +If the remote server does not support the +.Dv ABOR +command, an +.Ql ftp\*(Gt +prompt will not appear until the remote server has completed +sending the requested file. +.Pp +The terminal interrupt key sequence will be ignored when +.Nm +has completed any local processing and is awaiting a reply +from the remote server. +A long delay in this mode may result from the ABOR processing described +above, or from unexpected behavior by the remote server, including +violations of the FTP protocol. +If the delay results from unexpected remote server behavior, the local +.Nm +program must be killed by hand. +.Sh FILE NAMING CONVENTIONS +Files specified as arguments to +.Nm +commands are processed according to the following rules. +.Bl -enum +.It +If +.Sq - +is specified as a local file name, the standard input (for reading) +or standard output (for writing) +is used. +.It +If the first character of a local file name is +.Sq \&| , +the +remainder of the argument is interpreted as a shell command. +.Nm +then forks a shell, using +.Xr popen 3 +with the argument supplied, and reads (writes) from the standard output +(standard input). +If the shell command includes spaces, the argument +must be quoted; e.g., +.Qq ls -lt . +A particularly +useful example of this mechanism is: +.Qq ls \&. |more . +.It +Failing the above checks, if +.Dq globbing +is enabled, +local file names are expanded +according to the rules used in the +.Xr csh 1 +.Ic glob +command. +If the +.Nm +command expects a single local file (e.g., +.Ic put ) , +only the first filename generated by the +.Dq globbing +operation is used. +.It +For +.Ic mget +commands and +.Ic get +commands with unspecified local file names, the local filename is +the remote filename, which may be altered by a +.Ic case , +.Ic ntrans , +or +.Ic nmap +setting. +The resulting filename may then be altered if +.Ic runique +is on. +.It +For +.Ic mput +commands and +.Ic put +commands with unspecified remote file names, the remote filename is +the local filename, which may be altered by a +.Ic ntrans +or +.Ic nmap +setting. +The resulting filename may then be altered by the remote server if +.Ic sunique +is on. +.El +.Sh FILE TRANSFER PARAMETERS +The FTP specification specifies many parameters which may +affect a file transfer. +The +.Ic type +may be one of +.Dq ascii , +.Dq binary , +or +.Dq image . +.Nm +supports the ASCII and image types of file transfer. +.Pp +.Nm +supports only the default values for the remaining +file transfer parameters: +.Ic mode , +.Ic form , +and +.Ic struct . +.Sh THE .netrc FILE +The +.Pa .netrc +file contains login and initialization information +used by the auto-login process. +It resides in the user's home directory. +The following tokens are recognized; they may be separated by spaces, +tabs, or new-lines: +.Bl -tag -width password +.It Ic machine Ar name +Identify a remote machine +.Ar name . +The auto-login process searches the +.Pa .netrc +file for a +.Ic machine +token that matches the remote machine specified on the +.Nm +command line or as an +.Ic open +command argument. +Once a match is made, the subsequent +.Pa .netrc +tokens are processed, +stopping when the end of file is reached or another +.Ic machine +or a +.Ic default +token is encountered. +.It Ic default +This is the same as +.Ic machine +.Ar name +except that +.Ic default +matches any name. +There can be only one +.Ic default +token, and it must be after all +.Ic machine +tokens. +This is normally used as: +.Pp +.Dl default login anonymous password user@site +.Pp +thereby giving the user +.Ar automatic +anonymous FTP login to +machines not specified in +.Pa .netrc . +This can be overridden +by using the +.Fl n +flag to disable auto-login. +.It Ic login Ar name +Identify a user on the remote machine. +If this token is present, the auto-login process will initiate +a login using the specified +.Ar name . +.It Ic password Ar string +Supply a password. +If this token is present, the auto-login process will supply the +specified string if the remote server requires a password as part +of the login process. +Note that if this token is present in the +.Pa .netrc +file for any user other +than +.Ar anonymous , +.Nm +will abort the auto-login process if the +.Pa .netrc +is readable by +anyone besides the user. +.It Ic account Ar string +Supply an additional account password. +If this token is present, the auto-login process will supply the +specified string if the remote server requires an additional +account password, or the auto-login process will initiate an +.Dv ACCT +command if it does not. +.It Ic macdef Ar name +Define a macro. +This token functions like the +.Nm +.Ic macdef +command functions. +A macro is defined with the specified name; its contents begin with the +next +.Pa .netrc +line and continue until a null line (consecutive new-line +characters) is encountered. +Like the other tokens in the +.Pa .netrc +file, a +.Ic macdef +is applicable only to the +.Ic machine +definition preceding it. +A +.Ic macdef +entry cannot be utilized by multiple +.Ic machine +definitions; rather, it must be defined following each +.Ic machine +it is intended to be used with. +If a macro named +.Ic init +is defined, it is automatically executed as the last step in the +auto-login process. +.El +.Sh COMMAND LINE EDITING +.Nm +supports interactive command line editing, via the +.Xr editline 3 +library. +It is enabled with the +.Ic edit +command, and is enabled by default if input is from a tty. +Previous lines can be recalled and edited with the arrow keys, +and other GNU Emacs-style editing keys may be used as well. +.Pp +The +.Xr editline 3 +library is configured with a +.Pa .editrc +file \- refer to +.Xr editrc 5 +for more information. +.Pp +An extra key binding is available to +.Nm +to provide context sensitive command and filename completion +(including remote file completion). +To use this, bind a key to the +.Xr editline 3 +command +.Ic ftp-complete . +By default, this is bound to the TAB key. +.Sh ENVIRONMENT +.Nm +utilizes the following environment variables: +.Bl -tag -width "FTPSERVERPORT" +.It Ev FTPMODE +Overrides the default operation mode. +Recognized values are: +.Pp +.Bl -tag -width "passive " -offset indent -compact +.It passive +passive mode FTP only +.It active +active mode FTP only +.It auto +automatic determination of passive or active (this is the default) +.It gate +gate-ftp mode +.El +.It Ev FTPSERVER +Host to use as gate-ftp server when +.Ic gate +is enabled. +.It Ev FTPSERVERPORT +Port to use when connecting to gate-ftp server when +.Ic gate +is enabled. +Default is port returned by a +.Fn getservbyname +lookup of +.Dq ftpgate/tcp . +.It Ev HOME +For default location of a +.Pa .netrc +file, if one exists. +.It Ev PAGER +Used by +.Ic page +to display files. +.It Ev SHELL +For default shell. +.It Ev ftp_proxy +URL of FTP proxy to use when making FTP URL requests +(if not defined, use the standard FTP protocol). +.It Ev http_proxy +URL of HTTP proxy to use when making HTTP or HTTPS URL requests. +.It Ev http_cookies +Path of a Netscape-like cookiejar file to use when making +HTTP or HTTPS URL requests. +.El +.Sh PORT ALLOCATION +For active mode data connections, +.Nm +will listen to a random high TCP port. +The interval of ports used are configurable using +.Xr sysctl 8 +variables +.Va net.inet.ip.porthifirst +and +.Va net.inet.ip.porthilast . +.Sh SEE ALSO +.Xr basename 1 , +.Xr csh 1 , +.Xr more 1 , +.Xr stty 1 , +.Xr tar 1 , +.Xr tftp 1 , +.Xr editline 3 , +.Xr getservbyname 3 , +.Xr popen 3 , +.Xr editrc 5 , +.Xr services 5 , +.Xr ftp-proxy 8 , +.Xr ftpd 8 +.Sh STANDARDS +.Rs +.%A J. Postel +.%A J. Reynolds +.%D October 1985 +.%R RFC 959 +.%T FILE TRANSFER PROTOCOL (FTP) +.Re +.Pp +.Rs +.%A P. Hethmon +.%D March 2007 +.%R RFC 3659 +.%T Extensions to FTP +.Re +.Sh HISTORY +The +.Nm +command appeared in +.Bx 4.2 . +.Sh BUGS +Correct execution of many commands depends upon proper behavior +by the remote server. +.Pp +In the recursive mode of +.Ic mget , +files and directories starting with whitespace are ignored +because the list cannot be parsed any other way. diff --git a/static/openbsd/man1/fuser.1 b/static/openbsd/man1/fuser.1 new file mode 100644 index 00000000..db310a2f --- /dev/null +++ b/static/openbsd/man1/fuser.1 @@ -0,0 +1,152 @@ +.\" $OpenBSD: fuser.1,v 1.8 2017/10/17 22:47:58 schwarze Exp $ +.\" +.\" Copyright (c) 2002 Peter Werner +.\" 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. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED ``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 AUTHOR 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. +.\" +.Dd $Mdocdate: October 17 2017 $ +.Dt FUSER 1 +.Os +.Sh NAME +.Nm fuser +.Nd identify process IDs holding specific files open +.Sh SYNOPSIS +.Nm +.Op Fl cfku +.Op Fl M Ar core +.Op Fl N Ar system +.Op Fl s Ar signal +.Ar +.Sh DESCRIPTION +The +.Nm +utility writes to standard output the process IDs of processes running +on the local system that have one or more of the named files open. +If +.Ar file +is a mounted block device, the output will show all processes having +files opened on that file system. +.Pp +The options are as follows: +.Bl -tag -width Ds +.It Fl c +The file is treated as a mount point and +.Nm +will report on any files open in the file system. +.It Fl f +Report only for the named file(s). +.It Fl k +Send the SIGKILL signal to each process. +.It Fl M Ar core +Extract values associated with the name list from the specified core +instead of the running kernel. +.It Fl N Ar system +Extract the name list from the specified system instead of the running kernel. +.It Fl s Ar signal +Send the specified +.Ar signal +to each process. +The +.Ar signal +may be specified as a signal number or as a symbolic name either with +or without the +.Dq SIG +prefix. +Signal names are not case sensitive. +For example, the following signal arguments are equivalent: +.Dq 9 , +.Dq kill , +.Dq SIGKILL . +.It Fl u +The username of the process using the file will be printed in brackets +to standard error. +If the username is unable to be determined, the real user ID will be printed +instead. +.El +.Pp +The +.Fl c +and +.Fl f +options are mutually exclusive. +.Pp +The name of the file followed by a colon +.Pq Sq \&: +is printed to standard error. +The following characters may be printed to standard error after the process ID +if the described conditions are true: +.Pp +.Bl -tag -width Ds -offset indent -compact +.It c +The file is the process's current working directory. +.It r +The file is the process's root directory. +.It t +The file is the process's executable text. +.El +.Sh EXIT STATUS +.Ex -std fuser +.Sh EXAMPLES +Print the process IDs of any processes holding files open under the +.Ar /mnt +filesystem: +.Pp +.Dl $ fuser -c /mnt +.Pp +Send SIGTERM to any process holding a file open under the +.Ar /mnt +filesystem: +.Pp +.Dl # fuser -c -s term /mnt +.Pp +Report on all files opened under the filesystem on which +.Ar /dev/wd0a +is mounted: +.Pp +.Dl $ fuser /dev/wd0a +.Pp +Report on all processes currently holding +.Ar /dev/wd0a +open: +.Pp +.Dl $ fuser -f /dev/wd0a +.Sh SEE ALSO +.Xr fstat 1 , +.Xr kill 1 , +.Xr signal 3 , +.Xr mount 8 +.Sh STANDARDS +The +.Nm +utility is compliant with the +X/Open System Interfaces option of the +.St -p1003.1-2008 +specification. +.Pp +The flags +.Op Fl kMNs +are extensions to that specification. +.Sh HISTORY +The +.Nm +utility has been available since +.Ox 4.7 . diff --git a/static/openbsd/man1/g++.1 b/static/openbsd/man1/g++.1 new file mode 100644 index 00000000..b095c876 --- /dev/null +++ b/static/openbsd/man1/g++.1 @@ -0,0 +1,13118 @@ +.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14 +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sh \" Subsection heading +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. | will give a +.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to +.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' +.\" expand to `' in nroff, nothing in troff, for use with C<>. +.tr \(*W-|\(bv\*(Tr +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.if \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.\" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.hy 0 +.if n .na +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "GCC 1" +.TH GCC 1 "2007-07-19" "gcc-4.2.1" "GNU" +.SH "NAME" +gcc \- GNU project C and C++ compiler +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +gcc [\fB\-c\fR|\fB\-S\fR|\fB\-E\fR] [\fB\-std=\fR\fIstandard\fR] + [\fB\-g\fR] [\fB\-pg\fR] [\fB\-O\fR\fIlevel\fR] + [\fB\-W\fR\fIwarn\fR...] [\fB\-pedantic\fR] + [\fB\-I\fR\fIdir\fR...] [\fB\-L\fR\fIdir\fR...] + [\fB\-D\fR\fImacro\fR[=\fIdefn\fR]...] [\fB\-U\fR\fImacro\fR] + [\fB\-f\fR\fIoption\fR...] [\fB\-m\fR\fImachine-option\fR...] + [\fB\-o\fR \fIoutfile\fR] [@\fIfile\fR] \fIinfile\fR... +.PP +Only the most useful options are listed here; see below for the +remainder. \fBg++\fR accepts mostly the same options as \fBgcc\fR. +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +When you invoke \s-1GCC\s0, it normally does preprocessing, compilation, +assembly and linking. The \*(L"overall options\*(R" allow you to stop this +process at an intermediate stage. For example, the \fB\-c\fR option +says not to run the linker. Then the output consists of object files +output by the assembler. +.PP +Other options are passed on to one stage of processing. Some options +control the preprocessor and others the compiler itself. Yet other +options control the assembler and linker; most of these are not +documented here, since you rarely need to use any of them. +.PP +Most of the command line options that you can use with \s-1GCC\s0 are useful +for C programs; when an option is only useful with another language +(usually \*(C+), the explanation says so explicitly. If the description +for a particular option does not mention a source language, you can use +that option with all supported languages. +.PP +The \fBgcc\fR program accepts options and file names as operands. Many +options have multi-letter names; therefore multiple single-letter options +may \fInot\fR be grouped: \fB\-dr\fR is very different from \fB\-d\ \-r\fR. +.PP +You can mix options and other arguments. For the most part, the order +you use doesn't matter. Order does matter when you use several options +of the same kind; for example, if you specify \fB\-L\fR more than once, +the directories are searched in the order specified. +.PP +Many options have long names starting with \fB\-f\fR or with +\&\fB\-W\fR\-\-\-for example, +\&\fB\-fmove\-loop\-invariants\fR, \fB\-Wformat\fR and so on. Most of +these have both positive and negative forms; the negative form of +\&\fB\-ffoo\fR would be \fB\-fno\-foo\fR. This manual documents +only one of these two forms, whichever one is not the default. +.SH "OPTIONS" +.IX Header "OPTIONS" +.Sh "Option Summary" +.IX Subsection "Option Summary" +Here is a summary of all the options, grouped by type. Explanations are +in the following sections. +.IP "\fIOverall Options\fR" 4 +.IX Item "Overall Options" +\&\fB\-c \-S \-E \-o\fR \fIfile\fR \fB\-combine \-pipe \-pass\-exit\-codes +\&\-x\fR \fIlanguage\fR \fB\-v \-### \-\-help \-\-target\-help \-\-version @\fR\fIfile\fR +.IP "\fIC Language Options\fR" 4 +.IX Item "C Language Options" +\&\fB\-ansi \-std=\fR\fIstandard\fR \fB\-fgnu89\-inline +\&\-aux\-info\fR \fIfilename\fR +\&\fB\-fno\-asm \-fno\-builtin \-fno\-builtin\-\fR\fIfunction\fR +\&\fB\-fhosted \-ffreestanding \-fopenmp \-fms\-extensions +\&\-trigraphs \-no\-integrated\-cpp \-traditional \-traditional\-cpp +\&\-fallow\-single\-precision \-fcond\-mismatch +\&\-fsigned\-bitfields \-fsigned\-char +\&\-funsigned\-bitfields \-funsigned\-char\fR +.IP "\fI\*(C+ Language Options\fR" 4 +.IX Item " Language Options" +\&\fB\-fabi\-version=\fR\fIn\fR \fB\-fno\-access\-control \-fcheck\-new +\&\-fconserve\-space \-ffriend\-injection +\&\-fno\-elide\-constructors +\&\-fno\-enforce\-eh\-specs +\&\-ffor\-scope \-fno\-for\-scope \-fno\-gnu\-keywords +\&\-fno\-implicit\-templates +\&\-fno\-implicit\-inline\-templates +\&\-fno\-implement\-inlines \-fms\-extensions +\&\-fno\-nonansi\-builtins \-fno\-operator\-names +\&\-fno\-optional\-diags \-fpermissive +\&\-frepo \-fno\-rtti \-fstats \-ftemplate\-depth\-\fR\fIn\fR +\&\fB\-fno\-threadsafe\-statics \-fuse\-cxa\-atexit \-fno\-weak \-nostdinc++ +\&\-fno\-default\-inline \-fvisibility\-inlines\-hidden +\&\-Wabi \-Wctor\-dtor\-privacy +\&\-Wnon\-virtual\-dtor \-Wreorder +\&\-Weffc++ \-Wno\-deprecated \-Wstrict\-null\-sentinel +\&\-Wno\-non\-template\-friend \-Wold\-style\-cast +\&\-Woverloaded\-virtual \-Wno\-pmf\-conversions +\&\-Wsign\-promo\fR +.IP "\fIObjective-C and Objective\-\*(C+ Language Options\fR" 4 +.IX Item "Objective-C and Objective- Language Options" +\&\fB\-fconstant\-string\-class=\fR\fIclass-name\fR +\&\fB\-fgnu\-runtime \-fnext\-runtime +\&\-fno\-nil\-receivers +\&\-fobjc\-call\-cxx\-cdtors +\&\-fobjc\-direct\-dispatch +\&\-fobjc\-exceptions +\&\-fobjc\-gc +\&\-freplace\-objc\-classes +\&\-fzero\-link +\&\-gen\-decls +\&\-Wassign\-intercept +\&\-Wno\-protocol \-Wselector +\&\-Wstrict\-selector\-match +\&\-Wundeclared\-selector\fR +.IP "\fILanguage Independent Options\fR" 4 +.IX Item "Language Independent Options" +\&\fB\-fmessage\-length=\fR\fIn\fR +\&\fB\-fdiagnostics\-show\-location=\fR[\fBonce\fR|\fBevery-line\fR] +\&\fB\-fdiagnostics\-show\-option\fR +.IP "\fIWarning Options\fR" 4 +.IX Item "Warning Options" +\&\fB\-fsyntax\-only \-pedantic \-pedantic\-errors +\&\-w \-Wextra \-Wall \-Waddress \-Waggregate\-return \-Wno\-attributes +\&\-Wc++\-compat \-Wcast\-align \-Wcast\-qual \-Wchar\-subscripts \-Wcomment +\&\-Wconversion \-Wno\-deprecated\-declarations +\&\-Wdisabled\-optimization \-Wno\-div\-by\-zero \-Wno\-endif\-labels +\&\-Werror \-Werror=* \-Werror\-implicit\-function\-declaration +\&\-Wfatal\-errors \-Wfloat\-equal \-Wformat \-Wformat=2 +\&\-Wno\-format\-extra\-args \-Wformat\-nonliteral +\&\-Wformat\-security \-Wformat\-y2k +\&\-Wimplicit \-Wimplicit\-function\-declaration \-Wimplicit\-int +\&\-Wimport \-Wno\-import \-Winit\-self \-Winline +\&\-Wno\-int\-to\-pointer\-cast +\&\-Wno\-invalid\-offsetof \-Winvalid\-pch +\&\-Wlarger\-than\-\fR\fIlen\fR \fB\-Wunsafe\-loop\-optimizations \-Wlong\-long +\&\-Wmain \-Wmissing\-braces \-Wmissing\-field\-initializers +\&\-Wmissing\-format\-attribute \-Wmissing\-include\-dirs +\&\-Wmissing\-noreturn +\&\-Wno\-multichar \-Wnonnull \-Wno\-overflow +\&\-Woverlength\-strings \-Wpacked \-Wpadded +\&\-Wparentheses \-Wpointer\-arith \-Wno\-pointer\-to\-int\-cast +\&\-Wredundant\-decls +\&\-Wreturn\-type \-Wsequence\-point \-Wshadow +\&\-Wsign\-compare \-Wstack\-protector +\&\-Wstrict\-aliasing \-Wstrict\-aliasing=2 +\&\-Wstrict\-overflow \-Wstrict\-overflow=\fR\fIn\fR +\&\fB\-Wswitch \-Wswitch\-default \-Wswitch\-enum +\&\-Wsystem\-headers \-Wtrigraphs \-Wundef \-Wuninitialized +\&\-Wunknown\-pragmas \-Wno\-pragmas \-Wunreachable\-code +\&\-Wunused \-Wunused\-function \-Wunused\-label \-Wunused\-parameter +\&\-Wunused\-value \-Wunused\-variable \-Wvariadic\-macros +\&\-Wvolatile\-register\-var \-Wwrite\-strings\fR +.IP "\fIC\-only Warning Options\fR" 4 +.IX Item "C-only Warning Options" +\&\fB\-Wbad\-function\-cast \-Wmissing\-declarations +\&\-Wmissing\-prototypes \-Wnested\-externs \-Wold\-style\-definition +\&\-Wstrict\-prototypes \-Wtraditional +\&\-Wdeclaration\-after\-statement \-Wpointer\-sign\fR +.IP "\fIDebugging Options\fR" 4 +.IX Item "Debugging Options" +\&\fB\-d\fR\fIletters\fR \fB\-dumpspecs \-dumpmachine \-dumpversion +\&\-fdump\-noaddr \-fdump\-unnumbered \-fdump\-translation\-unit\fR[\fB\-\fR\fIn\fR] +\&\fB\-fdump\-class\-hierarchy\fR[\fB\-\fR\fIn\fR] +\&\fB\-fdump\-ipa\-all \-fdump\-ipa\-cgraph +\&\-fdump\-tree\-all +\&\-fdump\-tree\-original\fR[\fB\-\fR\fIn\fR] +\&\fB\-fdump\-tree\-optimized\fR[\fB\-\fR\fIn\fR] +\&\fB\-fdump\-tree\-inlined\fR[\fB\-\fR\fIn\fR] +\&\fB\-fdump\-tree\-cfg \-fdump\-tree\-vcg \-fdump\-tree\-alias +\&\-fdump\-tree\-ch +\&\-fdump\-tree\-ssa\fR[\fB\-\fR\fIn\fR] \fB\-fdump\-tree\-pre\fR[\fB\-\fR\fIn\fR] +\&\fB\-fdump\-tree\-ccp\fR[\fB\-\fR\fIn\fR] \fB\-fdump\-tree\-dce\fR[\fB\-\fR\fIn\fR] +\&\fB\-fdump\-tree\-gimple\fR[\fB\-raw\fR] \fB\-fdump\-tree\-mudflap\fR[\fB\-\fR\fIn\fR] +\&\fB\-fdump\-tree\-dom\fR[\fB\-\fR\fIn\fR] +\&\fB\-fdump\-tree\-dse\fR[\fB\-\fR\fIn\fR] +\&\fB\-fdump\-tree\-phiopt\fR[\fB\-\fR\fIn\fR] +\&\fB\-fdump\-tree\-forwprop\fR[\fB\-\fR\fIn\fR] +\&\fB\-fdump\-tree\-copyrename\fR[\fB\-\fR\fIn\fR] +\&\fB\-fdump\-tree\-nrv \-fdump\-tree\-vect +\&\-fdump\-tree\-sink +\&\-fdump\-tree\-sra\fR[\fB\-\fR\fIn\fR] +\&\fB\-fdump\-tree\-salias +\&\-fdump\-tree\-fre\fR[\fB\-\fR\fIn\fR] +\&\fB\-fdump\-tree\-vrp\fR[\fB\-\fR\fIn\fR] +\&\fB\-ftree\-vectorizer\-verbose=\fR\fIn\fR +\&\fB\-fdump\-tree\-storeccp\fR[\fB\-\fR\fIn\fR] +\&\fB\-feliminate\-dwarf2\-dups \-feliminate\-unused\-debug\-types +\&\-feliminate\-unused\-debug\-symbols \-femit\-class\-debug\-always +\&\-fmem\-report \-fprofile\-arcs +\&\-frandom\-seed=\fR\fIstring\fR \fB\-fsched\-verbose=\fR\fIn\fR +\&\fB\-ftest\-coverage \-ftime\-report \-fvar\-tracking +\&\-g \-g\fR\fIlevel\fR \fB\-gcoff \-gdwarf\-2 +\&\-ggdb \-gstabs \-gstabs+ \-gvms \-gxcoff \-gxcoff+ +\&\-p \-pg \-print\-file\-name=\fR\fIlibrary\fR \fB\-print\-libgcc\-file\-name +\&\-print\-multi\-directory \-print\-multi\-lib +\&\-print\-prog\-name=\fR\fIprogram\fR \fB\-print\-search\-dirs \-Q +\&\-save\-temps \-time\fR +.IP "\fIOptimization Options\fR" 4 +.IX Item "Optimization Options" +\&\fB\-falign\-functions=\fR\fIn\fR \fB\-falign\-jumps=\fR\fIn\fR +\&\fB\-falign\-labels=\fR\fIn\fR \fB\-falign\-loops=\fR\fIn\fR +\&\fB\-fbounds\-check \-fmudflap \-fmudflapth \-fmudflapir +\&\-fbranch\-probabilities \-fprofile\-values \-fvpt \-fbranch\-target\-load\-optimize +\&\-fbranch\-target\-load\-optimize2 \-fbtr\-bb\-exclusive +\&\-fcaller\-saves \-fcprop\-registers \-fcse\-follow\-jumps +\&\-fcse\-skip\-blocks \-fcx\-limited\-range \-fdata\-sections +\&\-fdelayed\-branch \-fdelete\-null\-pointer\-checks \-fearly\-inlining +\&\-fexpensive\-optimizations \-ffast\-math \-ffloat\-store +\&\-fforce\-addr \-ffunction\-sections +\&\-fgcse \-fgcse\-lm \-fgcse\-sm \-fgcse\-las \-fgcse\-after\-reload +\&\-fcrossjumping \-fif\-conversion \-fif\-conversion2 +\&\-finline\-functions \-finline\-functions\-called\-once +\&\-finline\-limit=\fR\fIn\fR \fB\-fkeep\-inline\-functions +\&\-fkeep\-static\-consts \-fmerge\-constants \-fmerge\-all\-constants +\&\-fmodulo\-sched \-fno\-branch\-count\-reg +\&\-fno\-default\-inline \-fno\-defer\-pop \-fmove\-loop\-invariants +\&\-fno\-function\-cse \-fno\-guess\-branch\-probability +\&\-fno\-inline \-fno\-math\-errno \-fno\-peephole \-fno\-peephole2 +\&\-funsafe\-math\-optimizations \-funsafe\-loop\-optimizations \-ffinite\-math\-only +\&\-fno\-toplevel\-reorder \-fno\-trapping\-math \-fno\-zero\-initialized\-in\-bss +\&\-fomit\-frame\-pointer \-foptimize\-register\-move +\&\-foptimize\-sibling\-calls \-fprefetch\-loop\-arrays +\&\-fprofile\-generate \-fprofile\-use +\&\-fregmove \-frename\-registers +\&\-freorder\-blocks \-freorder\-blocks\-and\-partition \-freorder\-functions +\&\-frerun\-cse\-after\-loop +\&\-frounding\-math \-frtl\-abstract\-sequences +\&\-fschedule\-insns \-fschedule\-insns2 +\&\-fno\-sched\-interblock \-fno\-sched\-spec \-fsched\-spec\-load +\&\-fsched\-spec\-load\-dangerous +\&\-fsched\-stalled\-insns=\fR\fIn\fR \fB\-fsched\-stalled\-insns\-dep=\fR\fIn\fR +\&\fB\-fsched2\-use\-superblocks +\&\-fsched2\-use\-traces \-fsee \-freschedule\-modulo\-scheduled\-loops +\&\-fsection\-anchors \-fsignaling\-nans \-fsingle\-precision\-constant +\&\-fstack\-protector \-fstack\-protector\-all +\&\-fstrict\-aliasing \-fstrict\-overflow \-ftracer \-fthread\-jumps +\&\-funroll\-all\-loops \-funroll\-loops \-fpeel\-loops +\&\-fsplit\-ivs\-in\-unroller \-funswitch\-loops +\&\-fvariable\-expansion\-in\-unroller +\&\-ftree\-pre \-ftree\-ccp \-ftree\-dce \-ftree\-loop\-optimize +\&\-ftree\-loop\-linear \-ftree\-loop\-im \-ftree\-loop\-ivcanon \-fivopts +\&\-ftree\-dominator\-opts \-ftree\-dse \-ftree\-copyrename \-ftree\-sink +\&\-ftree\-ch \-ftree\-sra \-ftree\-ter \-ftree\-lrs \-ftree\-fre \-ftree\-vectorize +\&\-ftree\-vect\-loop\-version \-ftree\-salias \-fipa\-pta \-fweb +\&\-ftree\-copy\-prop \-ftree\-store\-ccp \-ftree\-store\-copy\-prop \-fwhole\-program +\&\-\-param\fR \fIname\fR\fB=\fR\fIvalue\fR +\&\fB\-O \-O0 \-O1 \-O2 \-O3 \-Os\fR +.IP "\fIPreprocessor Options\fR" 4 +.IX Item "Preprocessor Options" +\&\fB\-A\fR\fIquestion\fR\fB=\fR\fIanswer\fR +\&\fB\-A\-\fR\fIquestion\fR[\fB=\fR\fIanswer\fR] +\&\fB\-C \-dD \-dI \-dM \-dN +\&\-D\fR\fImacro\fR[\fB=\fR\fIdefn\fR] \fB\-E \-H +\&\-idirafter\fR \fIdir\fR +\&\fB\-include\fR \fIfile\fR \fB\-imacros\fR \fIfile\fR +\&\fB\-iprefix\fR \fIfile\fR \fB\-iwithprefix\fR \fIdir\fR +\&\fB\-iwithprefixbefore\fR \fIdir\fR \fB\-isystem\fR \fIdir\fR +\&\fB\-imultilib\fR \fIdir\fR \fB\-isysroot\fR \fIdir\fR +\&\fB\-M \-MM \-MF \-MG \-MP \-MQ \-MT \-nostdinc +\&\-P \-fworking\-directory \-remap +\&\-trigraphs \-undef \-U\fR\fImacro\fR \fB\-Wp,\fR\fIoption\fR +\&\fB\-Xpreprocessor\fR \fIoption\fR +.IP "\fIAssembler Option\fR" 4 +.IX Item "Assembler Option" +\&\fB\-Wa,\fR\fIoption\fR \fB\-Xassembler\fR \fIoption\fR +.IP "\fILinker Options\fR" 4 +.IX Item "Linker Options" +\&\fIobject-file-name\fR \fB\-l\fR\fIlibrary\fR +\&\fB\-nostartfiles \-nodefaultlibs \-nostdlib \-pie \-rdynamic +\&\-s \-static \-static\-libgcc \-shared \-shared\-libgcc \-symbolic +\&\-Wl,\fR\fIoption\fR \fB\-Xlinker\fR \fIoption\fR +\&\fB\-u\fR \fIsymbol\fR +.IP "\fIDirectory Options\fR" 4 +.IX Item "Directory Options" +\&\fB\-B\fR\fIprefix\fR \fB\-I\fR\fIdir\fR \fB\-iquote\fR\fIdir\fR \fB\-L\fR\fIdir\fR +\&\fB\-specs=\fR\fIfile\fR \fB\-I\- \-\-sysroot=\fR\fIdir\fR +.IP "\fITarget Options\fR" 4 +.IX Item "Target Options" +\&\fB\-V\fR \fIversion\fR \fB\-b\fR \fImachine\fR +.IP "\fIMachine Dependent Options\fR" 4 +.IX Item "Machine Dependent Options" +\&\fI\s-1ARC\s0 Options\fR +\&\fB\-EB \-EL +\&\-mmangle\-cpu \-mcpu=\fR\fIcpu\fR \fB\-mtext=\fR\fItext-section\fR +\&\fB\-mdata=\fR\fIdata-section\fR \fB\-mrodata=\fR\fIreadonly-data-section\fR +.Sp +\&\fI\s-1ARM\s0 Options\fR +\&\fB\-mapcs\-frame \-mno\-apcs\-frame +\&\-mabi=\fR\fIname\fR +\&\fB\-mapcs\-stack\-check \-mno\-apcs\-stack\-check +\&\-mapcs\-float \-mno\-apcs\-float +\&\-mapcs\-reentrant \-mno\-apcs\-reentrant +\&\-msched\-prolog \-mno\-sched\-prolog +\&\-mlittle\-endian \-mbig\-endian \-mwords\-little\-endian +\&\-mfloat\-abi=\fR\fIname\fR \fB\-msoft\-float \-mhard\-float \-mfpe +\&\-mthumb\-interwork \-mno\-thumb\-interwork +\&\-mcpu=\fR\fIname\fR \fB\-march=\fR\fIname\fR \fB\-mfpu=\fR\fIname\fR +\&\fB\-mstructure\-size\-boundary=\fR\fIn\fR +\&\fB\-mabort\-on\-noreturn +\&\-mlong\-calls \-mno\-long\-calls +\&\-msingle\-pic\-base \-mno\-single\-pic\-base +\&\-mpic\-register=\fR\fIreg\fR +\&\fB\-mnop\-fun\-dllimport +\&\-mcirrus\-fix\-invalid\-insns \-mno\-cirrus\-fix\-invalid\-insns +\&\-mpoke\-function\-name +\&\-mthumb \-marm +\&\-mtpcs\-frame \-mtpcs\-leaf\-frame +\&\-mcaller\-super\-interworking \-mcallee\-super\-interworking +\&\-mtp=\fR\fIname\fR +.Sp +\&\fI\s-1AVR\s0 Options\fR +\&\fB\-mmcu=\fR\fImcu\fR \fB\-msize \-minit\-stack=\fR\fIn\fR \fB\-mno\-interrupts +\&\-mcall\-prologues \-mno\-tablejump \-mtiny\-stack \-mint8\fR +.Sp +\&\fIBlackfin Options\fR +\&\fB\-momit\-leaf\-frame\-pointer \-mno\-omit\-leaf\-frame\-pointer +\&\-mspecld\-anomaly \-mno\-specld\-anomaly \-mcsync\-anomaly \-mno\-csync\-anomaly +\&\-mlow\-64k \-mno\-low64k \-mid\-shared\-library +\&\-mno\-id\-shared\-library \-mshared\-library\-id=\fR\fIn\fR +\&\fB\-mlong\-calls \-mno\-long\-calls\fR +.Sp +\&\fI\s-1CRIS\s0 Options\fR +\&\fB\-mcpu=\fR\fIcpu\fR \fB\-march=\fR\fIcpu\fR \fB\-mtune=\fR\fIcpu\fR +\&\fB\-mmax\-stack\-frame=\fR\fIn\fR \fB\-melinux\-stacksize=\fR\fIn\fR +\&\fB\-metrax4 \-metrax100 \-mpdebug \-mcc\-init \-mno\-side\-effects +\&\-mstack\-align \-mdata\-align \-mconst\-align +\&\-m32\-bit \-m16\-bit \-m8\-bit \-mno\-prologue\-epilogue \-mno\-gotplt +\&\-melf \-maout \-melinux \-mlinux \-sim \-sim2 +\&\-mmul\-bug\-workaround \-mno\-mul\-bug\-workaround\fR +.Sp +\&\fI\s-1CRX\s0 Options\fR +\&\fB\-mmac \-mpush\-args\fR +.Sp +\&\fIDarwin Options\fR +\&\fB\-all_load \-allowable_client \-arch \-arch_errors_fatal +\&\-arch_only \-bind_at_load \-bundle \-bundle_loader +\&\-client_name \-compatibility_version \-current_version +\&\-dead_strip +\&\-dependency\-file \-dylib_file \-dylinker_install_name +\&\-dynamic \-dynamiclib \-exported_symbols_list +\&\-filelist \-flat_namespace \-force_cpusubtype_ALL +\&\-force_flat_namespace \-headerpad_max_install_names +\&\-image_base \-init \-install_name \-keep_private_externs +\&\-multi_module \-multiply_defined \-multiply_defined_unused +\&\-noall_load \-no_dead_strip_inits_and_terms +\&\-nofixprebinding \-nomultidefs \-noprebind \-noseglinkedit +\&\-pagezero_size \-prebind \-prebind_all_twolevel_modules +\&\-private_bundle \-read_only_relocs \-sectalign +\&\-sectobjectsymbols \-whyload \-seg1addr +\&\-sectcreate \-sectobjectsymbols \-sectorder +\&\-segaddr \-segs_read_only_addr \-segs_read_write_addr +\&\-seg_addr_table \-seg_addr_table_filename \-seglinkedit +\&\-segprot \-segs_read_only_addr \-segs_read_write_addr +\&\-single_module \-static \-sub_library \-sub_umbrella +\&\-twolevel_namespace \-umbrella \-undefined +\&\-unexported_symbols_list \-weak_reference_mismatches +\&\-whatsloaded \-F \-gused \-gfull \-mmacosx\-version\-min=\fR\fIversion\fR +\&\fB\-mkernel \-mone\-byte\-bool\fR +.Sp +\&\fI\s-1DEC\s0 Alpha Options\fR +\&\fB\-mno\-fp\-regs \-msoft\-float \-malpha\-as \-mgas +\&\-mieee \-mieee\-with\-inexact \-mieee\-conformant +\&\-mfp\-trap\-mode=\fR\fImode\fR \fB\-mfp\-rounding\-mode=\fR\fImode\fR +\&\fB\-mtrap\-precision=\fR\fImode\fR \fB\-mbuild\-constants +\&\-mcpu=\fR\fIcpu-type\fR \fB\-mtune=\fR\fIcpu-type\fR +\&\fB\-mbwx \-mmax \-mfix \-mcix +\&\-mfloat\-vax \-mfloat\-ieee +\&\-mexplicit\-relocs \-msmall\-data \-mlarge\-data +\&\-msmall\-text \-mlarge\-text +\&\-mmemory\-latency=\fR\fItime\fR +.Sp +\&\fI\s-1DEC\s0 Alpha/VMS Options\fR +\&\fB\-mvms\-return\-codes\fR +.Sp +\&\fI\s-1FRV\s0 Options\fR +\&\fB\-mgpr\-32 \-mgpr\-64 \-mfpr\-32 \-mfpr\-64 +\&\-mhard\-float \-msoft\-float +\&\-malloc\-cc \-mfixed\-cc \-mdword \-mno\-dword +\&\-mdouble \-mno\-double +\&\-mmedia \-mno\-media \-mmuladd \-mno\-muladd +\&\-mfdpic \-minline\-plt \-mgprel\-ro \-multilib\-library\-pic +\&\-mlinked\-fp \-mlong\-calls \-malign\-labels +\&\-mlibrary\-pic \-macc\-4 \-macc\-8 +\&\-mpack \-mno\-pack \-mno\-eflags \-mcond\-move \-mno\-cond\-move +\&\-moptimize\-membar \-mno\-optimize\-membar +\&\-mscc \-mno\-scc \-mcond\-exec \-mno\-cond\-exec +\&\-mvliw\-branch \-mno\-vliw\-branch +\&\-mmulti\-cond\-exec \-mno\-multi\-cond\-exec \-mnested\-cond\-exec +\&\-mno\-nested\-cond\-exec \-mtomcat\-stats +\&\-mTLS \-mtls +\&\-mcpu=\fR\fIcpu\fR +.Sp +\&\fIGNU/Linux Options\fR +\&\fB\-muclibc\fR +.Sp +\&\fIH8/300 Options\fR +\&\fB\-mrelax \-mh \-ms \-mn \-mint32 \-malign\-300\fR +.Sp +\&\fI\s-1HPPA\s0 Options\fR +\&\fB\-march=\fR\fIarchitecture-type\fR +\&\fB\-mbig\-switch \-mdisable\-fpregs \-mdisable\-indexing +\&\-mfast\-indirect\-calls \-mgas \-mgnu\-ld \-mhp\-ld +\&\-mfixed\-range=\fR\fIregister-range\fR +\&\fB\-mjump\-in\-delay \-mlinker\-opt \-mlong\-calls +\&\-mlong\-load\-store \-mno\-big\-switch \-mno\-disable\-fpregs +\&\-mno\-disable\-indexing \-mno\-fast\-indirect\-calls \-mno\-gas +\&\-mno\-jump\-in\-delay \-mno\-long\-load\-store +\&\-mno\-portable\-runtime \-mno\-soft\-float +\&\-mno\-space\-regs \-msoft\-float \-mpa\-risc\-1\-0 +\&\-mpa\-risc\-1\-1 \-mpa\-risc\-2\-0 \-mportable\-runtime +\&\-mschedule=\fR\fIcpu-type\fR \fB\-mspace\-regs \-msio \-mwsio +\&\-munix=\fR\fIunix-std\fR \fB\-nolibdld \-static \-threads\fR +.Sp +\&\fIi386 and x86\-64 Options\fR +\&\fB\-mtune=\fR\fIcpu-type\fR \fB\-march=\fR\fIcpu-type\fR +\&\fB\-mfpmath=\fR\fIunit\fR +\&\fB\-masm=\fR\fIdialect\fR \fB\-mno\-fancy\-math\-387 +\&\-mno\-fp\-ret\-in\-387 \-msoft\-float \-msvr3\-shlib +\&\-mno\-wide\-multiply \-mrtd \-malign\-double +\&\-mpreferred\-stack\-boundary=\fR\fInum\fR +\&\fB\-mmmx \-msse \-msse2 \-msse3 \-m3dnow +\&\-mthreads \-mno\-align\-stringops \-minline\-all\-stringops +\&\-mpush\-args \-maccumulate\-outgoing\-args \-m128bit\-long\-double +\&\-m96bit\-long\-double \-mregparm=\fR\fInum\fR \fB\-msseregparm +\&\-mstackrealign +\&\-momit\-leaf\-frame\-pointer \-mno\-red\-zone \-mno\-tls\-direct\-seg\-refs +\&\-mcmodel=\fR\fIcode-model\fR +\&\fB\-m32 \-m64 \-mlarge\-data\-threshold=\fR\fInum\fR +.Sp +\&\fI\s-1IA\-64\s0 Options\fR +\&\fB\-mbig\-endian \-mlittle\-endian \-mgnu\-as \-mgnu\-ld \-mno\-pic +\&\-mvolatile\-asm\-stop \-mregister\-names \-mno\-sdata +\&\-mconstant\-gp \-mauto\-pic \-minline\-float\-divide\-min\-latency +\&\-minline\-float\-divide\-max\-throughput +\&\-minline\-int\-divide\-min\-latency +\&\-minline\-int\-divide\-max\-throughput +\&\-minline\-sqrt\-min\-latency \-minline\-sqrt\-max\-throughput +\&\-mno\-dwarf2\-asm \-mearly\-stop\-bits +\&\-mfixed\-range=\fR\fIregister-range\fR \fB\-mtls\-size=\fR\fItls-size\fR +\&\fB\-mtune=\fR\fIcpu-type\fR \fB\-mt \-pthread \-milp32 \-mlp64 +\&\-mno\-sched\-br\-data\-spec \-msched\-ar\-data\-spec \-mno\-sched\-control\-spec +\&\-msched\-br\-in\-data\-spec \-msched\-ar\-in\-data\-spec \-msched\-in\-control\-spec +\&\-msched\-ldc \-mno\-sched\-control\-ldc \-mno\-sched\-spec\-verbose +\&\-mno\-sched\-prefer\-non\-data\-spec\-insns +\&\-mno\-sched\-prefer\-non\-control\-spec\-insns +\&\-mno\-sched\-count\-spec\-in\-critical\-path\fR +.Sp +\&\fIM32R/D Options\fR +\&\fB\-m32r2 \-m32rx \-m32r +\&\-mdebug +\&\-malign\-loops \-mno\-align\-loops +\&\-missue\-rate=\fR\fInumber\fR +\&\fB\-mbranch\-cost=\fR\fInumber\fR +\&\fB\-mmodel=\fR\fIcode-size-model-type\fR +\&\fB\-msdata=\fR\fIsdata-type\fR +\&\fB\-mno\-flush\-func \-mflush\-func=\fR\fIname\fR +\&\fB\-mno\-flush\-trap \-mflush\-trap=\fR\fInumber\fR +\&\fB\-G\fR \fInum\fR +.Sp +\&\fIM32C Options\fR +\&\fB\-mcpu=\fR\fIcpu\fR \fB\-msim \-memregs=\fR\fInumber\fR +.Sp +\&\fIM680x0 Options\fR +\&\fB\-m68000 \-m68020 \-m68020\-40 \-m68020\-60 \-m68030 \-m68040 +\&\-m68060 \-mcpu32 \-m5200 \-mcfv4e \-m68881 \-mbitfield +\&\-mc68000 \-mc68020 +\&\-mnobitfield \-mrtd \-mshort \-msoft\-float \-mpcrel +\&\-malign\-int \-mstrict\-align \-msep\-data \-mno\-sep\-data +\&\-mshared\-library\-id=n \-mid\-shared\-library \-mno\-id\-shared\-library\fR +.Sp +\&\fIM68hc1x Options\fR +\&\fB\-m6811 \-m6812 \-m68hc11 \-m68hc12 \-m68hcs12 +\&\-mauto\-incdec \-minmax \-mlong\-calls \-mshort +\&\-msoft\-reg\-count=\fR\fIcount\fR +.Sp +\&\fIMCore Options\fR +\&\fB\-mhardlit \-mno\-hardlit \-mdiv \-mno\-div \-mrelax\-immediates +\&\-mno\-relax\-immediates \-mwide\-bitfields \-mno\-wide\-bitfields +\&\-m4byte\-functions \-mno\-4byte\-functions \-mcallgraph\-data +\&\-mno\-callgraph\-data \-mslow\-bytes \-mno\-slow\-bytes \-mno\-lsim +\&\-mlittle\-endian \-mbig\-endian \-m210 \-m340 \-mstack\-increment\fR +.Sp +\&\fI\s-1MIPS\s0 Options\fR +\&\fB\-EL \-EB \-march=\fR\fIarch\fR \fB\-mtune=\fR\fIarch\fR +\&\fB\-mips1 \-mips2 \-mips3 \-mips4 \-mips32 \-mips32r2 \-mips64 +\&\-mips16 \-mno\-mips16 \-mabi=\fR\fIabi\fR \fB\-mabicalls \-mno\-abicalls +\&\-mshared \-mno\-shared \-mxgot \-mno\-xgot \-mgp32 \-mgp64 +\&\-mfp32 \-mfp64 \-mhard\-float \-msoft\-float +\&\-msingle\-float \-mdouble\-float \-mdsp \-mpaired\-single \-mips3d +\&\-mlong64 \-mlong32 \-msym32 \-mno\-sym32 +\&\-G\fR\fInum\fR \fB\-membedded\-data \-mno\-embedded\-data +\&\-muninit\-const\-in\-rodata \-mno\-uninit\-const\-in\-rodata +\&\-msplit\-addresses \-mno\-split\-addresses +\&\-mexplicit\-relocs \-mno\-explicit\-relocs +\&\-mcheck\-zero\-division \-mno\-check\-zero\-division +\&\-mdivide\-traps \-mdivide\-breaks +\&\-mmemcpy \-mno\-memcpy \-mlong\-calls \-mno\-long\-calls +\&\-mmad \-mno\-mad \-mfused\-madd \-mno\-fused\-madd \-nocpp +\&\-mfix\-r4000 \-mno\-fix\-r4000 \-mfix\-r4400 \-mno\-fix\-r4400 +\&\-mfix\-vr4120 \-mno\-fix\-vr4120 \-mfix\-vr4130 +\&\-mfix\-sb1 \-mno\-fix\-sb1 +\&\-mflush\-func=\fR\fIfunc\fR \fB\-mno\-flush\-func +\&\-mbranch\-likely \-mno\-branch\-likely +\&\-mfp\-exceptions \-mno\-fp\-exceptions +\&\-mvr4130\-align \-mno\-vr4130\-align\fR +.Sp +\&\fI\s-1MMIX\s0 Options\fR +\&\fB\-mlibfuncs \-mno\-libfuncs \-mepsilon \-mno\-epsilon \-mabi=gnu +\&\-mabi=mmixware \-mzero\-extend \-mknuthdiv \-mtoplevel\-symbols +\&\-melf \-mbranch\-predict \-mno\-branch\-predict \-mbase\-addresses +\&\-mno\-base\-addresses \-msingle\-exit \-mno\-single\-exit\fR +.Sp +\&\fI\s-1MN10300\s0 Options\fR +\&\fB\-mmult\-bug \-mno\-mult\-bug +\&\-mam33 \-mno\-am33 +\&\-mam33\-2 \-mno\-am33\-2 +\&\-mreturn\-pointer\-on\-d0 +\&\-mno\-crt0 \-mrelax\fR +.Sp +\&\fI\s-1MT\s0 Options\fR +\&\fB\-mno\-crt0 \-mbacc \-msim +\&\-march=\fR\fIcpu-type\fR\fB \fR +.Sp +\&\fI\s-1PDP\-11\s0 Options\fR +\&\fB\-mfpu \-msoft\-float \-mac0 \-mno\-ac0 \-m40 \-m45 \-m10 +\&\-mbcopy \-mbcopy\-builtin \-mint32 \-mno\-int16 +\&\-mint16 \-mno\-int32 \-mfloat32 \-mno\-float64 +\&\-mfloat64 \-mno\-float32 \-mabshi \-mno\-abshi +\&\-mbranch\-expensive \-mbranch\-cheap +\&\-msplit \-mno\-split \-munix\-asm \-mdec\-asm\fR +.Sp +\&\fIPowerPC Options\fR +See \s-1RS/6000\s0 and PowerPC Options. +.Sp +\&\fI\s-1RS/6000\s0 and PowerPC Options\fR +\&\fB\-mcpu=\fR\fIcpu-type\fR +\&\fB\-mtune=\fR\fIcpu-type\fR +\&\fB\-mpower \-mno\-power \-mpower2 \-mno\-power2 +\&\-mpowerpc \-mpowerpc64 \-mno\-powerpc +\&\-maltivec \-mno\-altivec +\&\-mpowerpc\-gpopt \-mno\-powerpc\-gpopt +\&\-mpowerpc\-gfxopt \-mno\-powerpc\-gfxopt +\&\-mmfcrf \-mno\-mfcrf \-mpopcntb \-mno\-popcntb \-mfprnd \-mno\-fprnd +\&\-mnew\-mnemonics \-mold\-mnemonics +\&\-mfull\-toc \-mminimal\-toc \-mno\-fp\-in\-toc \-mno\-sum\-in\-toc +\&\-m64 \-m32 \-mxl\-compat \-mno\-xl\-compat \-mpe +\&\-malign\-power \-malign\-natural +\&\-msoft\-float \-mhard\-float \-mmultiple \-mno\-multiple +\&\-mstring \-mno\-string \-mupdate \-mno\-update +\&\-mfused\-madd \-mno\-fused\-madd \-mbit\-align \-mno\-bit\-align +\&\-mstrict\-align \-mno\-strict\-align \-mrelocatable +\&\-mno\-relocatable \-mrelocatable\-lib \-mno\-relocatable\-lib +\&\-mtoc \-mno\-toc \-mlittle \-mlittle\-endian \-mbig \-mbig\-endian +\&\-mdynamic\-no\-pic \-maltivec \-mswdiv +\&\-mprioritize\-restricted\-insns=\fR\fIpriority\fR +\&\fB\-msched\-costly\-dep=\fR\fIdependence_type\fR +\&\fB\-minsert\-sched\-nops=\fR\fIscheme\fR +\&\fB\-mcall\-sysv \-mcall\-netbsd +\&\-maix\-struct\-return \-msvr4\-struct\-return +\&\-mabi=\fR\fIabi-type\fR \fB\-msecure\-plt \-mbss\-plt +\&\-misel \-mno\-isel +\&\-misel=yes \-misel=no +\&\-mspe \-mno\-spe +\&\-mspe=yes \-mspe=no +\&\-mvrsave \-mno\-vrsave +\&\-mmulhw \-mno\-mulhw +\&\-mdlmzb \-mno\-dlmzb +\&\-mfloat\-gprs=yes \-mfloat\-gprs=no \-mfloat\-gprs=single \-mfloat\-gprs=double +\&\-mprototype \-mno\-prototype +\&\-msim \-mmvme \-mads \-myellowknife \-memb \-msdata +\&\-msdata=\fR\fIopt\fR \fB\-mvxworks \-mwindiss \-G\fR \fInum\fR \fB\-pthread\fR +.Sp +\&\fIS/390 and zSeries Options\fR +\&\fB\-mtune=\fR\fIcpu-type\fR \fB\-march=\fR\fIcpu-type\fR +\&\fB\-mhard\-float \-msoft\-float \-mlong\-double\-64 \-mlong\-double\-128 +\&\-mbackchain \-mno\-backchain \-mpacked\-stack \-mno\-packed\-stack +\&\-msmall\-exec \-mno\-small\-exec \-mmvcle \-mno\-mvcle +\&\-m64 \-m31 \-mdebug \-mno\-debug \-mesa \-mzarch +\&\-mtpf\-trace \-mno\-tpf\-trace \-mfused\-madd \-mno\-fused\-madd +\&\-mwarn\-framesize \-mwarn\-dynamicstack \-mstack\-size \-mstack\-guard\fR +.Sp +\&\fIScore Options\fR +\&\fB\-meb \-mel +\&\-mnhwloop +\&\-muls +\&\-mmac +\&\-mscore5 \-mscore5u \-mscore7 \-mscore7d\fR +.Sp +\&\fI\s-1SH\s0 Options\fR +\&\fB\-m1 \-m2 \-m2e \-m3 \-m3e +\&\-m4\-nofpu \-m4\-single\-only \-m4\-single \-m4 +\&\-m4a\-nofpu \-m4a\-single\-only \-m4a\-single \-m4a \-m4al +\&\-m5\-64media \-m5\-64media\-nofpu +\&\-m5\-32media \-m5\-32media\-nofpu +\&\-m5\-compact \-m5\-compact\-nofpu +\&\-mb \-ml \-mdalign \-mrelax +\&\-mbigtable \-mfmovd \-mhitachi \-mrenesas \-mno\-renesas \-mnomacsave +\&\-mieee \-misize \-mpadstruct \-mspace +\&\-mprefergot \-musermode \-multcost=\fR\fInumber\fR \fB\-mdiv=\fR\fIstrategy\fR +\&\fB\-mdivsi3_libfunc=\fR\fIname\fR +\&\fB\-madjust\-unroll \-mindexed\-addressing \-mgettrcost=\fR\fInumber\fR \fB\-mpt\-fixed + \-minvalid\-symbols\fR +.Sp +\&\fI\s-1SPARC\s0 Options\fR +\&\fB\-mcpu=\fR\fIcpu-type\fR +\&\fB\-mtune=\fR\fIcpu-type\fR +\&\fB\-mcmodel=\fR\fIcode-model\fR +\&\fB\-m32 \-m64 \-mapp\-regs \-mno\-app\-regs +\&\-mfaster\-structs \-mno\-faster\-structs +\&\-mfpu \-mno\-fpu \-mhard\-float \-msoft\-float +\&\-mhard\-quad\-float \-msoft\-quad\-float +\&\-mimpure\-text \-mno\-impure\-text \-mlittle\-endian +\&\-mstack\-bias \-mno\-stack\-bias +\&\-munaligned\-doubles \-mno\-unaligned\-doubles +\&\-mv8plus \-mno\-v8plus \-mvis \-mno\-vis +\&\-threads \-pthreads \-pthread\fR +.Sp +\&\fISystem V Options\fR +\&\fB\-Qy \-Qn \-YP,\fR\fIpaths\fR \fB\-Ym,\fR\fIdir\fR +.Sp +\&\fITMS320C3x/C4x Options\fR +\&\fB\-mcpu=\fR\fIcpu\fR \fB\-mbig \-msmall \-mregparm \-mmemparm +\&\-mfast\-fix \-mmpyi \-mbk \-mti \-mdp\-isr\-reload +\&\-mrpts=\fR\fIcount\fR \fB\-mrptb \-mdb \-mloop\-unsigned +\&\-mparallel\-insns \-mparallel\-mpy \-mpreserve\-float\fR +.Sp +\&\fIV850 Options\fR +\&\fB\-mlong\-calls \-mno\-long\-calls \-mep \-mno\-ep +\&\-mprolog\-function \-mno\-prolog\-function \-mspace +\&\-mtda=\fR\fIn\fR \fB\-msda=\fR\fIn\fR \fB\-mzda=\fR\fIn\fR +\&\fB\-mapp\-regs \-mno\-app\-regs +\&\-mdisable\-callt \-mno\-disable\-callt +\&\-mv850e1 +\&\-mv850e +\&\-mv850 \-mbig\-switch\fR +.Sp +\&\fI\s-1VAX\s0 Options\fR +\&\fB\-mg \-mgnu \-munix\fR +.Sp +\&\fIx86\-64 Options\fR +See i386 and x86\-64 Options. +.Sp +\&\fIXstormy16 Options\fR +\&\fB\-msim\fR +.Sp +\&\fIXtensa Options\fR +\&\fB\-mconst16 \-mno\-const16 +\&\-mfused\-madd \-mno\-fused\-madd +\&\-mtext\-section\-literals \-mno\-text\-section\-literals +\&\-mtarget\-align \-mno\-target\-align +\&\-mlongcalls \-mno\-longcalls\fR +.Sp +\&\fIzSeries Options\fR +See S/390 and zSeries Options. +.IP "\fICode Generation Options\fR" 4 +.IX Item "Code Generation Options" +\&\fB\-fcall\-saved\-\fR\fIreg\fR \fB\-fcall\-used\-\fR\fIreg\fR +\&\fB\-ffixed\-\fR\fIreg\fR \fB\-fexceptions +\&\-fnon\-call\-exceptions \-funwind\-tables +\&\-fasynchronous\-unwind\-tables +\&\-finhibit\-size\-directive \-finstrument\-functions +\&\-fno\-common \-fno\-ident +\&\-fpcc\-struct\-return \-fpic \-fPIC \-fpie \-fPIE +\&\-fno\-jump\-tables +\&\-freg\-struct\-return \-fshort\-enums +\&\-fshort\-double \-fshort\-wchar +\&\-fverbose\-asm \-fpack\-struct[=\fR\fIn\fR\fB] \-fstack\-check +\&\-fstack\-limit\-register=\fR\fIreg\fR \fB\-fstack\-limit\-symbol=\fR\fIsym\fR +\&\fB\-fargument\-alias \-fargument\-noalias +\&\-fargument\-noalias\-global \-fargument\-noalias\-anything +\&\-fleading\-underscore \-ftls\-model=\fR\fImodel\fR +\&\fB\-ftrapv \-fwrapv \-fbounds\-check +\&\-fvisibility\fR +.Sh "Options Controlling the Kind of Output" +.IX Subsection "Options Controlling the Kind of Output" +Compilation can involve up to four stages: preprocessing, compilation +proper, assembly and linking, always in that order. \s-1GCC\s0 is capable of +preprocessing and compiling several files either into several +assembler input files, or into one assembler input file; then each +assembler input file produces an object file, and linking combines all +the object files (those newly compiled, and those specified as input) +into an executable file. +.PP +For any given input file, the file name suffix determines what kind of +compilation is done: +.IP "\fIfile\fR\fB.c\fR" 4 +.IX Item "file.c" +C source code which must be preprocessed. +.IP "\fIfile\fR\fB.i\fR" 4 +.IX Item "file.i" +C source code which should not be preprocessed. +.IP "\fIfile\fR\fB.ii\fR" 4 +.IX Item "file.ii" +\&\*(C+ source code which should not be preprocessed. +.IP "\fIfile\fR\fB.m\fR" 4 +.IX Item "file.m" +Objective-C source code. Note that you must link with the \fIlibobjc\fR +library to make an Objective-C program work. +.IP "\fIfile\fR\fB.mi\fR" 4 +.IX Item "file.mi" +Objective-C source code which should not be preprocessed. +.IP "\fIfile\fR\fB.mm\fR" 4 +.IX Item "file.mm" +.PD 0 +.IP "\fIfile\fR\fB.M\fR" 4 +.IX Item "file.M" +.PD +Objective\-\*(C+ source code. Note that you must link with the \fIlibobjc\fR +library to make an Objective\-\*(C+ program work. Note that \fB.M\fR refers +to a literal capital M. +.IP "\fIfile\fR\fB.mii\fR" 4 +.IX Item "file.mii" +Objective\-\*(C+ source code which should not be preprocessed. +.IP "\fIfile\fR\fB.h\fR" 4 +.IX Item "file.h" +C, \*(C+, Objective-C or Objective\-\*(C+ header file to be turned into a +precompiled header. +.IP "\fIfile\fR\fB.cc\fR" 4 +.IX Item "file.cc" +.PD 0 +.IP "\fIfile\fR\fB.cp\fR" 4 +.IX Item "file.cp" +.IP "\fIfile\fR\fB.cxx\fR" 4 +.IX Item "file.cxx" +.IP "\fIfile\fR\fB.cpp\fR" 4 +.IX Item "file.cpp" +.IP "\fIfile\fR\fB.CPP\fR" 4 +.IX Item "file.CPP" +.IP "\fIfile\fR\fB.c++\fR" 4 +.IX Item "file.c++" +.IP "\fIfile\fR\fB.C\fR" 4 +.IX Item "file.C" +.PD +\&\*(C+ source code which must be preprocessed. Note that in \fB.cxx\fR, +the last two letters must both be literally \fBx\fR. Likewise, +\&\fB.C\fR refers to a literal capital C. +.IP "\fIfile\fR\fB.mm\fR" 4 +.IX Item "file.mm" +.PD 0 +.IP "\fIfile\fR\fB.M\fR" 4 +.IX Item "file.M" +.PD +Objective\-\*(C+ source code which must be preprocessed. +.IP "\fIfile\fR\fB.mii\fR" 4 +.IX Item "file.mii" +Objective\-\*(C+ source code which should not be preprocessed. +.IP "\fIfile\fR\fB.hh\fR" 4 +.IX Item "file.hh" +.PD 0 +.IP "\fIfile\fR\fB.H\fR" 4 +.IX Item "file.H" +.PD +\&\*(C+ header file to be turned into a precompiled header. +.IP "\fIfile\fR\fB.f\fR" 4 +.IX Item "file.f" +.PD 0 +.IP "\fIfile\fR\fB.for\fR" 4 +.IX Item "file.for" +.IP "\fIfile\fR\fB.FOR\fR" 4 +.IX Item "file.FOR" +.PD +Fixed form Fortran source code which should not be preprocessed. +.IP "\fIfile\fR\fB.F\fR" 4 +.IX Item "file.F" +.PD 0 +.IP "\fIfile\fR\fB.fpp\fR" 4 +.IX Item "file.fpp" +.IP "\fIfile\fR\fB.FPP\fR" 4 +.IX Item "file.FPP" +.PD +Fixed form Fortran source code which must be preprocessed (with the traditional +preprocessor). +.IP "\fIfile\fR\fB.f90\fR" 4 +.IX Item "file.f90" +.PD 0 +.IP "\fIfile\fR\fB.f95\fR" 4 +.IX Item "file.f95" +.PD +Free form Fortran source code which should not be preprocessed. +.IP "\fIfile\fR\fB.F90\fR" 4 +.IX Item "file.F90" +.PD 0 +.IP "\fIfile\fR\fB.F95\fR" 4 +.IX Item "file.F95" +.PD +Free form Fortran source code which must be preprocessed (with the +traditional preprocessor). +.IP "\fIfile\fR\fB.ads\fR" 4 +.IX Item "file.ads" +Ada source code file which contains a library unit declaration (a +declaration of a package, subprogram, or generic, or a generic +instantiation), or a library unit renaming declaration (a package, +generic, or subprogram renaming declaration). Such files are also +called \fIspecs\fR. +.IP "\fIfile\fR\fB.adb\fR" 4 +.IX Item "file.adb" +Ada source code file containing a library unit body (a subprogram or +package body). Such files are also called \fIbodies\fR. +.IP "\fIfile\fR\fB.s\fR" 4 +.IX Item "file.s" +Assembler code. +.IP "\fIfile\fR\fB.S\fR" 4 +.IX Item "file.S" +Assembler code which must be preprocessed. +.IP "\fIother\fR" 4 +.IX Item "other" +An object file to be fed straight into linking. +Any file name with no recognized suffix is treated this way. +.PP +You can specify the input language explicitly with the \fB\-x\fR option: +.IP "\fB\-x\fR \fIlanguage\fR" 4 +.IX Item "-x language" +Specify explicitly the \fIlanguage\fR for the following input files +(rather than letting the compiler choose a default based on the file +name suffix). This option applies to all following input files until +the next \fB\-x\fR option. Possible values for \fIlanguage\fR are: +.Sp +.Vb 9 +\& c c-header c-cpp-output +\& c++ c++-header c++-cpp-output +\& objective-c objective-c-header objective-c-cpp-output +\& objective-c++ objective-c++-header objective-c++-cpp-output +\& assembler assembler-with-cpp +\& ada +\& f95 f95-cpp-input +\& java +\& treelang +.Ve +.IP "\fB\-x none\fR" 4 +.IX Item "-x none" +Turn off any specification of a language, so that subsequent files are +handled according to their file name suffixes (as they are if \fB\-x\fR +has not been used at all). +.IP "\fB\-pass\-exit\-codes\fR" 4 +.IX Item "-pass-exit-codes" +Normally the \fBgcc\fR program will exit with the code of 1 if any +phase of the compiler returns a non-success return code. If you specify +\&\fB\-pass\-exit\-codes\fR, the \fBgcc\fR program will instead return with +numerically highest error produced by any phase that returned an error +indication. The C, \*(C+, and Fortran frontends return 4, if an internal +compiler error is encountered. +.PP +If you only want some of the stages of compilation, you can use +\&\fB\-x\fR (or filename suffixes) to tell \fBgcc\fR where to start, and +one of the options \fB\-c\fR, \fB\-S\fR, or \fB\-E\fR to say where +\&\fBgcc\fR is to stop. Note that some combinations (for example, +\&\fB\-x cpp-output \-E\fR) instruct \fBgcc\fR to do nothing at all. +.IP "\fB\-c\fR" 4 +.IX Item "-c" +Compile or assemble the source files, but do not link. The linking +stage simply is not done. The ultimate output is in the form of an +object file for each source file. +.Sp +By default, the object file name for a source file is made by replacing +the suffix \fB.c\fR, \fB.i\fR, \fB.s\fR, etc., with \fB.o\fR. +.Sp +Unrecognized input files, not requiring compilation or assembly, are +ignored. +.IP "\fB\-S\fR" 4 +.IX Item "-S" +Stop after the stage of compilation proper; do not assemble. The output +is in the form of an assembler code file for each non-assembler input +file specified. +.Sp +By default, the assembler file name for a source file is made by +replacing the suffix \fB.c\fR, \fB.i\fR, etc., with \fB.s\fR. +.Sp +Input files that don't require compilation are ignored. +.IP "\fB\-E\fR" 4 +.IX Item "-E" +Stop after the preprocessing stage; do not run the compiler proper. The +output is in the form of preprocessed source code, which is sent to the +standard output. +.Sp +Input files which don't require preprocessing are ignored. +.IP "\fB\-o\fR \fIfile\fR" 4 +.IX Item "-o file" +Place output in file \fIfile\fR. This applies regardless to whatever +sort of output is being produced, whether it be an executable file, +an object file, an assembler file or preprocessed C code. +.Sp +If \fB\-o\fR is not specified, the default is to put an executable +file in \fIa.out\fR, the object file for +\&\fI\fIsource\fI.\fIsuffix\fI\fR in \fI\fIsource\fI.o\fR, its +assembler file in \fI\fIsource\fI.s\fR, a precompiled header file in +\&\fI\fIsource\fI.\fIsuffix\fI.gch\fR, and all preprocessed C source on +standard output. +.IP "\fB\-v\fR" 4 +.IX Item "-v" +Print (on standard error output) the commands executed to run the stages +of compilation. Also print the version number of the compiler driver +program and of the preprocessor and the compiler proper. +.IP "\fB\-###\fR" 4 +.IX Item "-###" +Like \fB\-v\fR except the commands are not executed and all command +arguments are quoted. This is useful for shell scripts to capture the +driver-generated command lines. +.IP "\fB\-pipe\fR" 4 +.IX Item "-pipe" +Use pipes rather than temporary files for communication between the +various stages of compilation. This fails to work on some systems where +the assembler is unable to read from a pipe; but the \s-1GNU\s0 assembler has +no trouble. +.IP "\fB\-combine\fR" 4 +.IX Item "-combine" +If you are compiling multiple source files, this option tells the driver +to pass all the source files to the compiler at once (for those +languages for which the compiler can handle this). This will allow +intermodule analysis (\s-1IMA\s0) to be performed by the compiler. Currently the only +language for which this is supported is C. If you pass source files for +multiple languages to the driver, using this option, the driver will invoke +the compiler(s) that support \s-1IMA\s0 once each, passing each compiler all the +source files appropriate for it. For those languages that do not support +\&\s-1IMA\s0 this option will be ignored, and the compiler will be invoked once for +each source file in that language. If you use this option in conjunction +with \fB\-save\-temps\fR, the compiler will generate multiple +pre-processed files +(one for each source file), but only one (combined) \fI.o\fR or +\&\fI.s\fR file. +.IP "\fB\-\-help\fR" 4 +.IX Item "--help" +Print (on the standard output) a description of the command line options +understood by \fBgcc\fR. If the \fB\-v\fR option is also specified +then \fB\-\-help\fR will also be passed on to the various processes +invoked by \fBgcc\fR, so that they can display the command line options +they accept. If the \fB\-Wextra\fR option is also specified then command +line options which have no documentation associated with them will also +be displayed. +.IP "\fB\-\-target\-help\fR" 4 +.IX Item "--target-help" +Print (on the standard output) a description of target specific command +line options for each tool. +.IP "\fB\-\-version\fR" 4 +.IX Item "--version" +Display the version number and copyrights of the invoked \s-1GCC\s0. +.IP "\fB@\fR\fIfile\fR" 4 +.IX Item "@file" +Read command-line options from \fIfile\fR. The options read are +inserted in place of the original @\fIfile\fR option. If \fIfile\fR +does not exist, or cannot be read, then the option will be treated +literally, and not removed. +.Sp +Options in \fIfile\fR are separated by whitespace. A whitespace +character may be included in an option by surrounding the entire +option in either single or double quotes. Any character (including a +backslash) may be included by prefixing the character to be included +with a backslash. The \fIfile\fR may itself contain additional +@\fIfile\fR options; any such options will be processed recursively. +.Sh "Compiling \*(C+ Programs" +.IX Subsection "Compiling Programs" +\&\*(C+ source files conventionally use one of the suffixes \fB.C\fR, +\&\fB.cc\fR, \fB.cpp\fR, \fB.CPP\fR, \fB.c++\fR, \fB.cp\fR, or +\&\fB.cxx\fR; \*(C+ header files often use \fB.hh\fR or \fB.H\fR; and +preprocessed \*(C+ files use the suffix \fB.ii\fR. \s-1GCC\s0 recognizes +files with these names and compiles them as \*(C+ programs even if you +call the compiler the same way as for compiling C programs (usually +with the name \fBgcc\fR). +.PP +However, the use of \fBgcc\fR does not add the \*(C+ library. +\&\fBg++\fR is a program that calls \s-1GCC\s0 and treats \fB.c\fR, +\&\fB.h\fR and \fB.i\fR files as \*(C+ source files instead of C source +files unless \fB\-x\fR is used, and automatically specifies linking +against the \*(C+ library. This program is also useful when +precompiling a C header file with a \fB.h\fR extension for use in \*(C+ +compilations. On many systems, \fBg++\fR is also installed with +the name \fBc++\fR. +.PP +When you compile \*(C+ programs, you may specify many of the same +command-line options that you use for compiling programs in any +language; or command-line options meaningful for C and related +languages; or options that are meaningful only for \*(C+ programs. +.Sh "Options Controlling C Dialect" +.IX Subsection "Options Controlling C Dialect" +The following options control the dialect of C (or languages derived +from C, such as \*(C+, Objective-C and Objective\-\*(C+) that the compiler +accepts: +.IP "\fB\-ansi\fR" 4 +.IX Item "-ansi" +In C mode, support all \s-1ISO\s0 C90 programs. In \*(C+ mode, +remove \s-1GNU\s0 extensions that conflict with \s-1ISO\s0 \*(C+. +.Sp +This turns off certain features of \s-1GCC\s0 that are incompatible with \s-1ISO\s0 +C90 (when compiling C code), or of standard \*(C+ (when compiling \*(C+ code), +such as the \f(CW\*(C`asm\*(C'\fR and \f(CW\*(C`typeof\*(C'\fR keywords, and +predefined macros such as \f(CW\*(C`unix\*(C'\fR and \f(CW\*(C`vax\*(C'\fR that identify the +type of system you are using. It also enables the undesirable and +rarely used \s-1ISO\s0 trigraph feature. For the C compiler, +it disables recognition of \*(C+ style \fB//\fR comments as well as +the \f(CW\*(C`inline\*(C'\fR keyword. +.Sp +The alternate keywords \f(CW\*(C`_\|_asm_\|_\*(C'\fR, \f(CW\*(C`_\|_extension_\|_\*(C'\fR, +\&\f(CW\*(C`_\|_inline_\|_\*(C'\fR and \f(CW\*(C`_\|_typeof_\|_\*(C'\fR continue to work despite +\&\fB\-ansi\fR. You would not want to use them in an \s-1ISO\s0 C program, of +course, but it is useful to put them in header files that might be included +in compilations done with \fB\-ansi\fR. Alternate predefined macros +such as \f(CW\*(C`_\|_unix_\|_\*(C'\fR and \f(CW\*(C`_\|_vax_\|_\*(C'\fR are also available, with or +without \fB\-ansi\fR. +.Sp +The \fB\-ansi\fR option does not cause non-ISO programs to be +rejected gratuitously. For that, \fB\-pedantic\fR is required in +addition to \fB\-ansi\fR. +.Sp +The macro \f(CW\*(C`_\|_STRICT_ANSI_\|_\*(C'\fR is predefined when the \fB\-ansi\fR +option is used. Some header files may notice this macro and refrain +from declaring certain functions or defining certain macros that the +\&\s-1ISO\s0 standard doesn't call for; this is to avoid interfering with any +programs that might use these names for other things. +.Sp +Functions which would normally be built in but do not have semantics +defined by \s-1ISO\s0 C (such as \f(CW\*(C`alloca\*(C'\fR and \f(CW\*(C`ffs\*(C'\fR) are not built-in +functions with \fB\-ansi\fR is used. +.IP "\fB\-std=\fR" 4 +.IX Item "-std=" +Determine the language standard. This option is currently only +supported when compiling C or \*(C+. A value for this option must be +provided; possible values are +.RS 4 +.IP "\fBc89\fR" 4 +.IX Item "c89" +.PD 0 +.IP "\fBiso9899:1990\fR" 4 +.IX Item "iso9899:1990" +.PD +\&\s-1ISO\s0 C90 (same as \fB\-ansi\fR). +.IP "\fBiso9899:199409\fR" 4 +.IX Item "iso9899:199409" +\&\s-1ISO\s0 C90 as modified in amendment 1. +.IP "\fBc99\fR" 4 +.IX Item "c99" +.PD 0 +.IP "\fBc9x\fR" 4 +.IX Item "c9x" +.IP "\fBiso9899:1999\fR" 4 +.IX Item "iso9899:1999" +.IP "\fBiso9899:199x\fR" 4 +.IX Item "iso9899:199x" +.PD +\&\s-1ISO\s0 C99. Note that this standard is not yet fully supported; see +<\fBhttp://gcc.gnu.org/gcc\-4.2/c99status.html\fR> for more information. The +names \fBc9x\fR and \fBiso9899:199x\fR are deprecated. +.IP "\fBgnu89\fR" 4 +.IX Item "gnu89" +Default, \s-1ISO\s0 C90 plus \s-1GNU\s0 extensions (including some C99 features). +.IP "\fBgnu99\fR" 4 +.IX Item "gnu99" +.PD 0 +.IP "\fBgnu9x\fR" 4 +.IX Item "gnu9x" +.PD +\&\s-1ISO\s0 C99 plus \s-1GNU\s0 extensions. When \s-1ISO\s0 C99 is fully implemented in \s-1GCC\s0, +this will become the default. The name \fBgnu9x\fR is deprecated. +.IP "\fBc++98\fR" 4 +.IX Item "c++98" +The 1998 \s-1ISO\s0 \*(C+ standard plus amendments. +.IP "\fBgnu++98\fR" 4 +.IX Item "gnu++98" +The same as \fB\-std=c++98\fR plus \s-1GNU\s0 extensions. This is the +default for \*(C+ code. +.RE +.RS 4 +.Sp +Even when this option is not specified, you can still use some of the +features of newer standards in so far as they do not conflict with +previous C standards. For example, you may use \f(CW\*(C`_\|_restrict_\|_\*(C'\fR even +when \fB\-std=c99\fR is not specified. +.Sp +The \fB\-std\fR options specifying some version of \s-1ISO\s0 C have the same +effects as \fB\-ansi\fR, except that features that were not in \s-1ISO\s0 C90 +but are in the specified version (for example, \fB//\fR comments and +the \f(CW\*(C`inline\*(C'\fR keyword in \s-1ISO\s0 C99) are not disabled. +.RE +.IP "\fB\-fgnu89\-inline\fR" 4 +.IX Item "-fgnu89-inline" +The option \fB\-fgnu89\-inline\fR tells \s-1GCC\s0 to use the traditional +\&\s-1GNU\s0 semantics for \f(CW\*(C`inline\*(C'\fR functions when in C99 mode. + Using this +option is roughly equivalent to adding the \f(CW\*(C`gnu_inline\*(C'\fR function +attribute to all inline functions. +.Sp +This option is accepted by \s-1GCC\s0 versions 4.1.3 and up. In \s-1GCC\s0 versions +prior to 4.3, C99 inline semantics are not supported, and thus this +option is effectively assumed to be present regardless of whether or not +it is specified; the only effect of specifying it explicitly is to +disable warnings about using inline functions in C99 mode. Likewise, +the option \fB\-fno\-gnu89\-inline\fR is not supported in versions of +\&\s-1GCC\s0 before 4.3. It will be supported only in C99 or gnu99 mode, not in +C89 or gnu89 mode. +.Sp +The preprocesor macros \f(CW\*(C`_\|_GNUC_GNU_INLINE_\|_\*(C'\fR and +\&\f(CW\*(C`_\|_GNUC_STDC_INLINE_\|_\*(C'\fR may be used to check which semantics are +in effect for \f(CW\*(C`inline\*(C'\fR functions. +.IP "\fB\-aux\-info\fR \fIfilename\fR" 4 +.IX Item "-aux-info filename" +Output to the given filename prototyped declarations for all functions +declared and/or defined in a translation unit, including those in header +files. This option is silently ignored in any language other than C. +.Sp +Besides declarations, the file indicates, in comments, the origin of +each declaration (source file and line), whether the declaration was +implicit, prototyped or unprototyped (\fBI\fR, \fBN\fR for new or +\&\fBO\fR for old, respectively, in the first character after the line +number and the colon), and whether it came from a declaration or a +definition (\fBC\fR or \fBF\fR, respectively, in the following +character). In the case of function definitions, a K&R\-style list of +arguments followed by their declarations is also provided, inside +comments, after the declaration. +.IP "\fB\-fno\-asm\fR" 4 +.IX Item "-fno-asm" +Do not recognize \f(CW\*(C`asm\*(C'\fR, \f(CW\*(C`inline\*(C'\fR or \f(CW\*(C`typeof\*(C'\fR as a +keyword, so that code can use these words as identifiers. You can use +the keywords \f(CW\*(C`_\|_asm_\|_\*(C'\fR, \f(CW\*(C`_\|_inline_\|_\*(C'\fR and \f(CW\*(C`_\|_typeof_\|_\*(C'\fR +instead. \fB\-ansi\fR implies \fB\-fno\-asm\fR. +.Sp +In \*(C+, this switch only affects the \f(CW\*(C`typeof\*(C'\fR keyword, since +\&\f(CW\*(C`asm\*(C'\fR and \f(CW\*(C`inline\*(C'\fR are standard keywords. You may want to +use the \fB\-fno\-gnu\-keywords\fR flag instead, which has the same +effect. In C99 mode (\fB\-std=c99\fR or \fB\-std=gnu99\fR), this +switch only affects the \f(CW\*(C`asm\*(C'\fR and \f(CW\*(C`typeof\*(C'\fR keywords, since +\&\f(CW\*(C`inline\*(C'\fR is a standard keyword in \s-1ISO\s0 C99. +.IP "\fB\-fno\-builtin\fR" 4 +.IX Item "-fno-builtin" +.PD 0 +.IP "\fB\-fno\-builtin\-\fR\fIfunction\fR" 4 +.IX Item "-fno-builtin-function" +.PD +Don't recognize built-in functions that do not begin with +\&\fB_\|_builtin_\fR as prefix. +.Sp +\&\s-1GCC\s0 normally generates special code to handle certain built-in functions +more efficiently; for instance, calls to \f(CW\*(C`alloca\*(C'\fR may become single +instructions that adjust the stack directly, and calls to \f(CW\*(C`memcpy\*(C'\fR +may become inline copy loops. The resulting code is often both smaller +and faster, but since the function calls no longer appear as such, you +cannot set a breakpoint on those calls, nor can you change the behavior +of the functions by linking with a different library. In addition, +when a function is recognized as a built-in function, \s-1GCC\s0 may use +information about that function to warn about problems with calls to +that function, or to generate more efficient code, even if the +resulting code still contains calls to that function. For example, +warnings are given with \fB\-Wformat\fR for bad calls to +\&\f(CW\*(C`printf\*(C'\fR, when \f(CW\*(C`printf\*(C'\fR is built in, and \f(CW\*(C`strlen\*(C'\fR is +known not to modify global memory. +.Sp +With the \fB\-fno\-builtin\-\fR\fIfunction\fR option +only the built-in function \fIfunction\fR is +disabled. \fIfunction\fR must not begin with \fB_\|_builtin_\fR. If a +function is named this is not built-in in this version of \s-1GCC\s0, this +option is ignored. There is no corresponding +\&\fB\-fbuiltin\-\fR\fIfunction\fR option; if you wish to enable +built-in functions selectively when using \fB\-fno\-builtin\fR or +\&\fB\-ffreestanding\fR, you may define macros such as: +.Sp +.Vb 2 +\& #define abs(n) __builtin_abs ((n)) +\& #define strcpy(d, s) __builtin_strcpy ((d), (s)) +.Ve +.IP "\fB\-fhosted\fR" 4 +.IX Item "-fhosted" +Assert that compilation takes place in a hosted environment. This implies +\&\fB\-fbuiltin\fR. A hosted environment is one in which the +entire standard library is available, and in which \f(CW\*(C`main\*(C'\fR has a return +type of \f(CW\*(C`int\*(C'\fR. Examples are nearly everything except a kernel. +This is equivalent to \fB\-fno\-freestanding\fR. +.IP "\fB\-ffreestanding\fR" 4 +.IX Item "-ffreestanding" +Assert that compilation takes place in a freestanding environment. This +implies \fB\-fno\-builtin\fR. A freestanding environment +is one in which the standard library may not exist, and program startup may +not necessarily be at \f(CW\*(C`main\*(C'\fR. The most obvious example is an \s-1OS\s0 kernel. +This is equivalent to \fB\-fno\-hosted\fR. +.IP "\fB\-fopenmp\fR" 4 +.IX Item "-fopenmp" +Enable handling of OpenMP directives \f(CW\*(C`#pragma omp\*(C'\fR in C/\*(C+ and +\&\f(CW\*(C`!$omp\*(C'\fR in Fortran. When \fB\-fopenmp\fR is specified, the +compiler generates parallel code according to the OpenMP Application +Program Interface v2.5 <\fBhttp://www.openmp.org/\fR>. +.IP "\fB\-fms\-extensions\fR" 4 +.IX Item "-fms-extensions" +Accept some non-standard constructs used in Microsoft header files. +.Sp +Some cases of unnamed fields in structures and unions are only +accepted with this option. +.IP "\fB\-trigraphs\fR" 4 +.IX Item "-trigraphs" +Support \s-1ISO\s0 C trigraphs. The \fB\-ansi\fR option (and \fB\-std\fR +options for strict \s-1ISO\s0 C conformance) implies \fB\-trigraphs\fR. +.IP "\fB\-no\-integrated\-cpp\fR" 4 +.IX Item "-no-integrated-cpp" +Performs a compilation in two passes: preprocessing and compiling. This +option allows a user supplied \*(L"cc1\*(R", \*(L"cc1plus\*(R", or \*(L"cc1obj\*(R" via the +\&\fB\-B\fR option. The user supplied compilation step can then add in +an additional preprocessing step after normal preprocessing but before +compiling. The default is to use the integrated cpp (internal cpp) +.Sp +The semantics of this option will change if \*(L"cc1\*(R", \*(L"cc1plus\*(R", and +\&\*(L"cc1obj\*(R" are merged. +.IP "\fB\-traditional\fR" 4 +.IX Item "-traditional" +.PD 0 +.IP "\fB\-traditional\-cpp\fR" 4 +.IX Item "-traditional-cpp" +.PD +Formerly, these options caused \s-1GCC\s0 to attempt to emulate a pre-standard +C compiler. They are now only supported with the \fB\-E\fR switch. +The preprocessor continues to support a pre-standard mode. See the \s-1GNU\s0 +\&\s-1CPP\s0 manual for details. +.IP "\fB\-fcond\-mismatch\fR" 4 +.IX Item "-fcond-mismatch" +Allow conditional expressions with mismatched types in the second and +third arguments. The value of such an expression is void. This option +is not supported for \*(C+. +.IP "\fB\-funsigned\-char\fR" 4 +.IX Item "-funsigned-char" +Let the type \f(CW\*(C`char\*(C'\fR be unsigned, like \f(CW\*(C`unsigned char\*(C'\fR. +.Sp +Each kind of machine has a default for what \f(CW\*(C`char\*(C'\fR should +be. It is either like \f(CW\*(C`unsigned char\*(C'\fR by default or like +\&\f(CW\*(C`signed char\*(C'\fR by default. +.Sp +Ideally, a portable program should always use \f(CW\*(C`signed char\*(C'\fR or +\&\f(CW\*(C`unsigned char\*(C'\fR when it depends on the signedness of an object. +But many programs have been written to use plain \f(CW\*(C`char\*(C'\fR and +expect it to be signed, or expect it to be unsigned, depending on the +machines they were written for. This option, and its inverse, let you +make such a program work with the opposite default. +.Sp +The type \f(CW\*(C`char\*(C'\fR is always a distinct type from each of +\&\f(CW\*(C`signed char\*(C'\fR or \f(CW\*(C`unsigned char\*(C'\fR, even though its behavior +is always just like one of those two. +.IP "\fB\-fsigned\-char\fR" 4 +.IX Item "-fsigned-char" +Let the type \f(CW\*(C`char\*(C'\fR be signed, like \f(CW\*(C`signed char\*(C'\fR. +.Sp +Note that this is equivalent to \fB\-fno\-unsigned\-char\fR, which is +the negative form of \fB\-funsigned\-char\fR. Likewise, the option +\&\fB\-fno\-signed\-char\fR is equivalent to \fB\-funsigned\-char\fR. +.IP "\fB\-fsigned\-bitfields\fR" 4 +.IX Item "-fsigned-bitfields" +.PD 0 +.IP "\fB\-funsigned\-bitfields\fR" 4 +.IX Item "-funsigned-bitfields" +.IP "\fB\-fno\-signed\-bitfields\fR" 4 +.IX Item "-fno-signed-bitfields" +.IP "\fB\-fno\-unsigned\-bitfields\fR" 4 +.IX Item "-fno-unsigned-bitfields" +.PD +These options control whether a bit-field is signed or unsigned, when the +declaration does not use either \f(CW\*(C`signed\*(C'\fR or \f(CW\*(C`unsigned\*(C'\fR. By +default, such a bit-field is signed, because this is consistent: the +basic integer types such as \f(CW\*(C`int\*(C'\fR are signed types. +.Sh "Options Controlling \*(C+ Dialect" +.IX Subsection "Options Controlling Dialect" +This section describes the command-line options that are only meaningful +for \*(C+ programs; but you can also use most of the \s-1GNU\s0 compiler options +regardless of what language your program is in. For example, you +might compile a file \f(CW\*(C`firstClass.C\*(C'\fR like this: +.PP +.Vb 1 +\& g++ -g -frepo -O -c firstClass.C +.Ve +.PP +In this example, only \fB\-frepo\fR is an option meant +only for \*(C+ programs; you can use the other options with any +language supported by \s-1GCC\s0. +.PP +Here is a list of options that are \fIonly\fR for compiling \*(C+ programs: +.IP "\fB\-fabi\-version=\fR\fIn\fR" 4 +.IX Item "-fabi-version=n" +Use version \fIn\fR of the \*(C+ \s-1ABI\s0. Version 2 is the version of the +\&\*(C+ \s-1ABI\s0 that first appeared in G++ 3.4. Version 1 is the version of +the \*(C+ \s-1ABI\s0 that first appeared in G++ 3.2. Version 0 will always be +the version that conforms most closely to the \*(C+ \s-1ABI\s0 specification. +Therefore, the \s-1ABI\s0 obtained using version 0 will change as \s-1ABI\s0 bugs +are fixed. +.Sp +The default is version 2. +.IP "\fB\-fno\-access\-control\fR" 4 +.IX Item "-fno-access-control" +Turn off all access checking. This switch is mainly useful for working +around bugs in the access control code. +.IP "\fB\-fcheck\-new\fR" 4 +.IX Item "-fcheck-new" +Check that the pointer returned by \f(CW\*(C`operator new\*(C'\fR is non-null +before attempting to modify the storage allocated. This check is +normally unnecessary because the \*(C+ standard specifies that +\&\f(CW\*(C`operator new\*(C'\fR will only return \f(CW0\fR if it is declared +\&\fB\f(BIthrow()\fB\fR, in which case the compiler will always check the +return value even without this option. In all other cases, when +\&\f(CW\*(C`operator new\*(C'\fR has a non-empty exception specification, memory +exhaustion is signalled by throwing \f(CW\*(C`std::bad_alloc\*(C'\fR. See also +\&\fBnew (nothrow)\fR. +.IP "\fB\-fconserve\-space\fR" 4 +.IX Item "-fconserve-space" +Put uninitialized or runtime-initialized global variables into the +common segment, as C does. This saves space in the executable at the +cost of not diagnosing duplicate definitions. If you compile with this +flag and your program mysteriously crashes after \f(CW\*(C`main()\*(C'\fR has +completed, you may have an object that is being destroyed twice because +two definitions were merged. +.Sp +This option is no longer useful on most targets, now that support has +been added for putting variables into \s-1BSS\s0 without making them common. +.IP "\fB\-ffriend\-injection\fR" 4 +.IX Item "-ffriend-injection" +Inject friend functions into the enclosing namespace, so that they are +visible outside the scope of the class in which they are declared. +Friend functions were documented to work this way in the old Annotated +\&\*(C+ Reference Manual, and versions of G++ before 4.1 always worked +that way. However, in \s-1ISO\s0 \*(C+ a friend function which is not declared +in an enclosing scope can only be found using argument dependent +lookup. This option causes friends to be injected as they were in +earlier releases. +.Sp +This option is for compatibility, and may be removed in a future +release of G++. +.IP "\fB\-fno\-elide\-constructors\fR" 4 +.IX Item "-fno-elide-constructors" +The \*(C+ standard allows an implementation to omit creating a temporary +which is only used to initialize another object of the same type. +Specifying this option disables that optimization, and forces G++ to +call the copy constructor in all cases. +.IP "\fB\-fno\-enforce\-eh\-specs\fR" 4 +.IX Item "-fno-enforce-eh-specs" +Don't generate code to check for violation of exception specifications +at runtime. This option violates the \*(C+ standard, but may be useful +for reducing code size in production builds, much like defining +\&\fB\s-1NDEBUG\s0\fR. This does not give user code permission to throw +exceptions in violation of the exception specifications; the compiler +will still optimize based on the specifications, so throwing an +unexpected exception will result in undefined behavior. +.IP "\fB\-ffor\-scope\fR" 4 +.IX Item "-ffor-scope" +.PD 0 +.IP "\fB\-fno\-for\-scope\fR" 4 +.IX Item "-fno-for-scope" +.PD +If \fB\-ffor\-scope\fR is specified, the scope of variables declared in +a \fIfor-init-statement\fR is limited to the \fBfor\fR loop itself, +as specified by the \*(C+ standard. +If \fB\-fno\-for\-scope\fR is specified, the scope of variables declared in +a \fIfor-init-statement\fR extends to the end of the enclosing scope, +as was the case in old versions of G++, and other (traditional) +implementations of \*(C+. +.Sp +The default if neither flag is given to follow the standard, +but to allow and give a warning for old-style code that would +otherwise be invalid, or have different behavior. +.IP "\fB\-fno\-gnu\-keywords\fR" 4 +.IX Item "-fno-gnu-keywords" +Do not recognize \f(CW\*(C`typeof\*(C'\fR as a keyword, so that code can use this +word as an identifier. You can use the keyword \f(CW\*(C`_\|_typeof_\|_\*(C'\fR instead. +\&\fB\-ansi\fR implies \fB\-fno\-gnu\-keywords\fR. +.IP "\fB\-fno\-implicit\-templates\fR" 4 +.IX Item "-fno-implicit-templates" +Never emit code for non-inline templates which are instantiated +implicitly (i.e. by use); only emit code for explicit instantiations. +.IP "\fB\-fno\-implicit\-inline\-templates\fR" 4 +.IX Item "-fno-implicit-inline-templates" +Don't emit code for implicit instantiations of inline templates, either. +The default is to handle inlines differently so that compiles with and +without optimization will need the same set of explicit instantiations. +.IP "\fB\-fno\-implement\-inlines\fR" 4 +.IX Item "-fno-implement-inlines" +To save space, do not emit out-of-line copies of inline functions +controlled by \fB#pragma implementation\fR. This will cause linker +errors if these functions are not inlined everywhere they are called. +.IP "\fB\-fms\-extensions\fR" 4 +.IX Item "-fms-extensions" +Disable pedantic warnings about constructs used in \s-1MFC\s0, such as implicit +int and getting a pointer to member function via non-standard syntax. +.IP "\fB\-fno\-nonansi\-builtins\fR" 4 +.IX Item "-fno-nonansi-builtins" +Disable built-in declarations of functions that are not mandated by +\&\s-1ANSI/ISO\s0 C. These include \f(CW\*(C`ffs\*(C'\fR, \f(CW\*(C`alloca\*(C'\fR, \f(CW\*(C`_exit\*(C'\fR, +\&\f(CW\*(C`index\*(C'\fR, \f(CW\*(C`bzero\*(C'\fR, \f(CW\*(C`conjf\*(C'\fR, and other related functions. +.IP "\fB\-fno\-operator\-names\fR" 4 +.IX Item "-fno-operator-names" +Do not treat the operator name keywords \f(CW\*(C`and\*(C'\fR, \f(CW\*(C`bitand\*(C'\fR, +\&\f(CW\*(C`bitor\*(C'\fR, \f(CW\*(C`compl\*(C'\fR, \f(CW\*(C`not\*(C'\fR, \f(CW\*(C`or\*(C'\fR and \f(CW\*(C`xor\*(C'\fR as +synonyms as keywords. +.IP "\fB\-fno\-optional\-diags\fR" 4 +.IX Item "-fno-optional-diags" +Disable diagnostics that the standard says a compiler does not need to +issue. Currently, the only such diagnostic issued by G++ is the one for +a name having multiple meanings within a class. +.IP "\fB\-fpermissive\fR" 4 +.IX Item "-fpermissive" +Downgrade some diagnostics about nonconformant code from errors to +warnings. Thus, using \fB\-fpermissive\fR will allow some +nonconforming code to compile. +.IP "\fB\-frepo\fR" 4 +.IX Item "-frepo" +Enable automatic template instantiation at link time. This option also +implies \fB\-fno\-implicit\-templates\fR. +.IP "\fB\-fno\-rtti\fR" 4 +.IX Item "-fno-rtti" +Disable generation of information about every class with virtual +functions for use by the \*(C+ runtime type identification features +(\fBdynamic_cast\fR and \fBtypeid\fR). If you don't use those parts +of the language, you can save some space by using this flag. Note that +exception handling uses the same information, but it will generate it as +needed. The \fBdynamic_cast\fR operator can still be used for casts that +do not require runtime type information, i.e. casts to \f(CW\*(C`void *\*(C'\fR or to +unambiguous base classes. +.IP "\fB\-fstats\fR" 4 +.IX Item "-fstats" +Emit statistics about front-end processing at the end of the compilation. +This information is generally only useful to the G++ development team. +.IP "\fB\-ftemplate\-depth\-\fR\fIn\fR" 4 +.IX Item "-ftemplate-depth-n" +Set the maximum instantiation depth for template classes to \fIn\fR. +A limit on the template instantiation depth is needed to detect +endless recursions during template class instantiation. \s-1ANSI/ISO\s0 \*(C+ +conforming programs must not rely on a maximum depth greater than 17. +.IP "\fB\-fno\-threadsafe\-statics\fR" 4 +.IX Item "-fno-threadsafe-statics" +Do not emit the extra code to use the routines specified in the \*(C+ +\&\s-1ABI\s0 for thread-safe initialization of local statics. You can use this +option to reduce code size slightly in code that doesn't need to be +thread\-safe. +.IP "\fB\-fuse\-cxa\-atexit\fR" 4 +.IX Item "-fuse-cxa-atexit" +Register destructors for objects with static storage duration with the +\&\f(CW\*(C`_\|_cxa_atexit\*(C'\fR function rather than the \f(CW\*(C`atexit\*(C'\fR function. +This option is required for fully standards-compliant handling of static +destructors, but will only work if your C library supports +\&\f(CW\*(C`_\|_cxa_atexit\*(C'\fR. +.IP "\fB\-fno\-use\-cxa\-get\-exception\-ptr\fR" 4 +.IX Item "-fno-use-cxa-get-exception-ptr" +Don't use the \f(CW\*(C`_\|_cxa_get_exception_ptr\*(C'\fR runtime routine. This +will cause \f(CW\*(C`std::uncaught_exception\*(C'\fR to be incorrect, but is necessary +if the runtime routine is not available. +.IP "\fB\-fvisibility\-inlines\-hidden\fR" 4 +.IX Item "-fvisibility-inlines-hidden" +This switch declares that the user does not attempt to compare +pointers to inline methods where the addresses of the two functions +were taken in different shared objects. +.Sp +The effect of this is that \s-1GCC\s0 may, effectively, mark inline methods with +\&\f(CW\*(C`_\|_attribute_\|_ ((visibility ("hidden")))\*(C'\fR so that they do not +appear in the export table of a \s-1DSO\s0 and do not require a \s-1PLT\s0 indirection +when used within the \s-1DSO\s0. Enabling this option can have a dramatic effect +on load and link times of a \s-1DSO\s0 as it massively reduces the size of the +dynamic export table when the library makes heavy use of templates. +.Sp +The behaviour of this switch is not quite the same as marking the +methods as hidden directly, because it does not affect static variables +local to the function or cause the compiler to deduce that +the function is defined in only one shared object. +.Sp +You may mark a method as having a visibility explicitly to negate the +effect of the switch for that method. For example, if you do want to +compare pointers to a particular inline method, you might mark it as +having default visibility. Marking the enclosing class with explicit +visibility will have no effect. +.Sp +Explicitly instantiated inline methods are unaffected by this option +as their linkage might otherwise cross a shared library boundary. +.IP "\fB\-fno\-weak\fR" 4 +.IX Item "-fno-weak" +Do not use weak symbol support, even if it is provided by the linker. +By default, G++ will use weak symbols if they are available. This +option exists only for testing, and should not be used by end\-users; +it will result in inferior code and has no benefits. This option may +be removed in a future release of G++. +.IP "\fB\-nostdinc++\fR" 4 +.IX Item "-nostdinc++" +Do not search for header files in the standard directories specific to +\&\*(C+, but do still search the other standard directories. (This option +is used when building the \*(C+ library.) +.PP +In addition, these optimization, warning, and code generation options +have meanings only for \*(C+ programs: +.IP "\fB\-fno\-default\-inline\fR" 4 +.IX Item "-fno-default-inline" +Do not assume \fBinline\fR for functions defined inside a class scope. + Note that these +functions will have linkage like inline functions; they just won't be +inlined by default. +.IP "\fB\-Wabi\fR (\*(C+ only)" 4 +.IX Item "-Wabi ( only)" +Warn when G++ generates code that is probably not compatible with the +vendor-neutral \*(C+ \s-1ABI\s0. Although an effort has been made to warn about +all such cases, there are probably some cases that are not warned about, +even though G++ is generating incompatible code. There may also be +cases where warnings are emitted even though the code that is generated +will be compatible. +.Sp +You should rewrite your code to avoid these warnings if you are +concerned about the fact that code generated by G++ may not be binary +compatible with code generated by other compilers. +.Sp +The known incompatibilities at this point include: +.RS 4 +.IP "*" 4 +Incorrect handling of tail-padding for bit\-fields. G++ may attempt to +pack data into the same byte as a base class. For example: +.Sp +.Vb 2 +\& struct A { virtual void f(); int f1 : 1; }; +\& struct B : public A { int f2 : 1; }; +.Ve +.Sp +In this case, G++ will place \f(CW\*(C`B::f2\*(C'\fR into the same byte +as\f(CW\*(C`A::f1\*(C'\fR; other compilers will not. You can avoid this problem +by explicitly padding \f(CW\*(C`A\*(C'\fR so that its size is a multiple of the +byte size on your platform; that will cause G++ and other compilers to +layout \f(CW\*(C`B\*(C'\fR identically. +.IP "*" 4 +Incorrect handling of tail-padding for virtual bases. G++ does not use +tail padding when laying out virtual bases. For example: +.Sp +.Vb 3 +\& struct A { virtual void f(); char c1; }; +\& struct B { B(); char c2; }; +\& struct C : public A, public virtual B {}; +.Ve +.Sp +In this case, G++ will not place \f(CW\*(C`B\*(C'\fR into the tail-padding for +\&\f(CW\*(C`A\*(C'\fR; other compilers will. You can avoid this problem by +explicitly padding \f(CW\*(C`A\*(C'\fR so that its size is a multiple of its +alignment (ignoring virtual base classes); that will cause G++ and other +compilers to layout \f(CW\*(C`C\*(C'\fR identically. +.IP "*" 4 +Incorrect handling of bit-fields with declared widths greater than that +of their underlying types, when the bit-fields appear in a union. For +example: +.Sp +.Vb 1 +\& union U { int i : 4096; }; +.Ve +.Sp +Assuming that an \f(CW\*(C`int\*(C'\fR does not have 4096 bits, G++ will make the +union too small by the number of bits in an \f(CW\*(C`int\*(C'\fR. +.IP "*" 4 +Empty classes can be placed at incorrect offsets. For example: +.Sp +.Vb 1 +\& struct A {}; +.Ve +.Sp +.Vb 4 +\& struct B { +\& A a; +\& virtual void f (); +\& }; +.Ve +.Sp +.Vb 1 +\& struct C : public B, public A {}; +.Ve +.Sp +G++ will place the \f(CW\*(C`A\*(C'\fR base class of \f(CW\*(C`C\*(C'\fR at a nonzero offset; +it should be placed at offset zero. G++ mistakenly believes that the +\&\f(CW\*(C`A\*(C'\fR data member of \f(CW\*(C`B\*(C'\fR is already at offset zero. +.IP "*" 4 +Names of template functions whose types involve \f(CW\*(C`typename\*(C'\fR or +template template parameters can be mangled incorrectly. +.Sp +.Vb 2 +\& template +\& void f(typename Q::X) {} +.Ve +.Sp +.Vb 2 +\& template