/contrib/groff/tmac/doc-common

https://bitbucket.org/freebsd/freebsd-head/ · #! · 1306 lines · 1306 code · 0 blank · 0 comment · 0 complexity · a53044b8ba6031d814394e164bf3cc66 MD5 · raw file

  1. .\" Copyright (c) 1991, 1993
  2. .\" The Regents of the University of California. All rights reserved.
  3. .\"
  4. .\" Redistribution and use in source and binary forms, with or without
  5. .\" modification, are permitted provided that the following conditions
  6. .\" are met:
  7. .\" 1. Redistributions of source code must retain the above copyright
  8. .\" notice, this list of conditions and the following disclaimer.
  9. .\" 2. Redistributions in binary form must reproduce the above copyright
  10. .\" notice, this list of conditions and the following disclaimer in the
  11. .\" documentation and/or other materials provided with the distribution.
  12. .\" 3. [Deleted. See
  13. .\" ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change]
  14. .\" 4. Neither the name of the University nor the names of its contributors
  15. .\" may be used to endorse or promote products derived from this software
  16. .\" without specific prior written permission.
  17. .\"
  18. .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  19. .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  20. .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  21. .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  22. .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  23. .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  24. .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  25. .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  26. .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  27. .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  28. .\" SUCH DAMAGE.
  29. .\"
  30. .\" @(#)doc-common 8.1 (Berkeley) 06/08/93
  31. .\"
  32. .\" %beginstrip%
  33. .
  34. .
  35. .\" Macro Identifiers. For each user macro a corresponding register with
  36. .\" the same name must exist. Its value must not be zero.
  37. .
  38. .nr %A 1
  39. .nr %B 1
  40. .nr %D 1
  41. .nr %I 1
  42. .nr %J 1
  43. .nr %N 1
  44. .nr %O 1
  45. .nr %P 1
  46. .nr %Q 1
  47. .nr %R 1
  48. .nr %T 1
  49. .nr %U 1
  50. .nr %V 1
  51. .nr Ac 3
  52. .nr Ad 12n
  53. .nr An 12n
  54. .nr Ao 12n
  55. .nr Ap 2
  56. .nr Aq 12n
  57. .nr Ar 12n
  58. .nr At 1
  59. .nr Bc 3
  60. .nr Bf 8n\" ?
  61. .nr Bk 8n\" ?
  62. .nr Bl 1
  63. .nr Bo 12n
  64. .nr Bq 12n
  65. .nr Brc 3
  66. .nr Bro 12n
  67. .nr Brq 12n
  68. .nr Bsx 1
  69. .nr Bt 8n\" ?
  70. .nr Bx 1
  71. .nr Cd 12n
  72. .nr Cm 10n
  73. .nr D1 8n\" ?
  74. .nr Dc 3
  75. .nr Dl 8n\" ?
  76. .nr Dt 8n\" ?
  77. .nr Do 12n
  78. .nr Dq 12n
  79. .nr Ds 6n\" many manpages still use this as a -width value
  80. .nr Dv 12n
  81. .nr Dx 1
  82. .nr Ec 3
  83. .nr Ef 8n\" ?
  84. .nr Ek 8n\" ?
  85. .nr El 1
  86. .nr Em 10n
  87. .nr En 12n
  88. .nr Eo 12n
  89. .nr Eq 12n
  90. .nr Er 17n
  91. .nr Es 12n
  92. .nr Ev 15n
  93. .nr Ex 1
  94. .nr Fa 12n
  95. .nr Fc 3
  96. .nr Fd 12n\" ?
  97. .nr Fl 10n
  98. .nr Fn 16n
  99. .nr Fo 16n
  100. .nr Fr 12n\" ?
  101. .nr Ft 8n\" ?
  102. .nr Fx 1
  103. .nr Ic 10n
  104. .nr In 12n
  105. .nr It 8n\" ?
  106. .nr Lb 11n
  107. .nr Li 16n
  108. .nr Lk 6n\" ?
  109. .nr Lp 8n\" ?
  110. .nr Me 6n
  111. .nr Ms 6n
  112. .nr Mt 6n\" ?
  113. .nr Nd 8n\" ?
  114. .nr Nm 10n
  115. .nr No 12n
  116. .nr Ns 2
  117. .nr Nx 1
  118. .nr Oc 3
  119. .nr Oo 10n
  120. .nr Op 14n
  121. .nr Os 6n\" ?
  122. .nr Ox 1
  123. .nr Pa 32n
  124. .nr Pc 3
  125. .nr Pf 12n
  126. .nr Po 12n
  127. .nr Pp 8n\" ?
  128. .nr Pq 12n
  129. .nr Qc 3
  130. .nr Ql 16n
  131. .nr Qo 12n
  132. .nr Qq 12n
  133. .nr Rv 1
  134. .nr Sc 3
  135. .nr Sh 8n
  136. .nr Sm 8n\" ?
  137. .nr So 12n
  138. .nr Sq 12n
  139. .nr Ss 8n
  140. .nr St 8n\" ?
  141. .nr Sx 16n
  142. .nr Sy 6n
  143. .nr Ta 2
  144. .nr Tn 10n
  145. .nr Ud 8n\" ?
  146. .nr Ux 1
  147. .nr Va 12n
  148. .nr Vt 8n\" ?
  149. .nr Xc 3
  150. .nr Xo 1
  151. .nr Xr 10n
  152. .
  153. .
  154. .\" macros which must be processed after the closing delimiter of `Op'
  155. .\" and friends
  156. .ds doc-after-Ao
  157. .ds doc-after-Bo
  158. .ds doc-after-Bro
  159. .ds doc-after-Do
  160. .ds doc-after-Eo
  161. .ds doc-after-Fo
  162. .ds doc-after-Ns
  163. .ds doc-after-Oo
  164. .ds doc-after-Po
  165. .ds doc-after-Qo
  166. .ds doc-after-So
  167. .ds doc-after-Xo
  168. .
  169. .
  170. .nr doc-display-indent 6n
  171. .
  172. .
  173. .\" space strings
  174. .
  175. .ds doc-soft-space " \"
  176. .ds doc-hard-space \~
  177. .ds doc-tab \t
  178. .
  179. .
  180. .eo
  181. .
  182. .
  183. .\" punctuation values (suffix=3, prefix=4)
  184. .
  185. .nr doc-punct. 3
  186. .nr doc-punct, 3
  187. .nr doc-punct: 3
  188. .nr doc-punct; 3
  189. .nr doc-punct( 4
  190. .nr doc-punct) 3
  191. .nr doc-punct[ 4
  192. .nr doc-punct] 3
  193. .nr doc-punct? 3
  194. .nr doc-punct! 3
  195. .
  196. .
  197. .\" header assembly macros
  198. .
  199. .\" NS doc-document-title global string
  200. .\" NS the title of the manual page
  201. .
  202. .ds doc-document-title UNTITLED
  203. .
  204. .
  205. .\" NS doc-volume global string
  206. .\" NS the volume where the manual page belongs to
  207. .
  208. .ds doc-volume LOCAL
  209. .
  210. .
  211. .\" NS doc-section global string
  212. .\" NS the manual section
  213. .
  214. .ds doc-section Null
  215. .
  216. .
  217. .\" NS Dt user macro (not parsed, not callable)
  218. .\" NS document title
  219. .\" NS
  220. .\" NS modifies:
  221. .\" NS doc-document-title
  222. .\" NS doc-section
  223. .\" NS doc-volume
  224. .\" NS doc-command-name
  225. .\" NS
  226. .\" NS local variables:
  227. .\" NS doc-volume-as-XXX
  228. .\" NS doc-volume-ds-XXX
  229. .\" NS
  230. .\" NS width register `Dt' set above
  231. .
  232. .\" an alternative, more detailed scheme for naming the manual sections
  233. .\"
  234. .ds doc-volume-operating-system BSD
  235. .nr doc-volume-operating-system-ateol 0
  236. .ds doc-volume-ds-1 General Commands Manual
  237. .ds doc-volume-ds-2 System Calls Manual
  238. .ds doc-volume-ds-3 Library Functions Manual
  239. .ds doc-volume-ds-4 Kernel Interfaces Manual
  240. .ds doc-volume-ds-5 File Formats Manual
  241. .ds doc-volume-ds-6 Games Manual
  242. .ds doc-volume-ds-7 Miscellaneous Information Manual
  243. .ds doc-volume-ds-8 System Manager's Manual
  244. .ds doc-volume-ds-9 Kernel Developer's Manual
  245. .
  246. .ds doc-volume-ds-USD User's Supplementary Documents
  247. .ds doc-volume-ds-PS1 Programmer's Supplementary Documents
  248. .ds doc-volume-ds-AMD Ancestral Manual Documents
  249. .ds doc-volume-ds-SMM System Manager's Manual
  250. .ds doc-volume-ds-URM User's Reference Manual
  251. .ds doc-volume-ds-PRM Programmer's Manual
  252. .ds doc-volume-ds-KM Kernel Manual
  253. .ds doc-volume-ds-IND Manual Master Index
  254. .ds doc-volume-ds-LOCAL Local Manual
  255. .ds doc-volume-ds-CON Contributed Software Manual
  256. .
  257. .als doc-volume-ds-MMI doc-volume-ds-IND
  258. .als doc-volume-ds-LOC doc-volume-ds-LOCAL
  259. .
  260. .ds doc-volume-as-alpha alpha
  261. .als doc-volume-as-Alpha doc-volume-as-alpha
  262. .ds doc-volume-as-acorn26 acorn26
  263. .ds doc-volume-as-acorn32 acorn32
  264. .ds doc-volume-as-algor algor
  265. .ds doc-volume-as-amd64 amd64
  266. .ds doc-volume-as-amiga amiga
  267. .ds doc-volume-as-amigappc amigappc
  268. .ds doc-volume-as-arc arc
  269. .ds doc-volume-as-arm arm
  270. .ds doc-volume-as-arm26 arm26
  271. .ds doc-volume-as-arm32 arm32
  272. .ds doc-volume-as-armish armish
  273. .ds doc-volume-as-atari atari
  274. .ds doc-volume-as-aviion aviion
  275. .ds doc-volume-as-beagle beagle
  276. .ds doc-volume-as-bebox bebox
  277. .ds doc-volume-as-cats cats
  278. .ds doc-volume-as-cesfic cesfic
  279. .ds doc-volume-as-cobalt cobalt
  280. .ds doc-volume-as-dreamcast dreamcast
  281. .ds doc-volume-as-emips emips
  282. .ds doc-volume-as-evbarm evbarm
  283. .ds doc-volume-as-evbmips evbmips
  284. .ds doc-volume-as-evbppc evbppc
  285. .ds doc-volume-as-evbsh3 evbsh3
  286. .ds doc-volume-as-ews4800mips ews4800mips
  287. .ds doc-volume-as-hp300 hp300
  288. .ds doc-volume-as-hp700 hp700
  289. .ds doc-volume-as-hpcarm hpcarm
  290. .ds doc-volume-as-hpcmips hpcmips
  291. .ds doc-volume-as-hpcsh hpcsh
  292. .ds doc-volume-as-hppa hppa
  293. .ds doc-volume-as-hppa64 hppa64
  294. .ds doc-volume-as-i386 i386
  295. .ds doc-volume-as-ia64 ia64
  296. .ds doc-volume-as-ibmnws ibmnws
  297. .ds doc-volume-as-iyonix iyonix
  298. .ds doc-volume-as-landisk landisk
  299. .ds doc-volume-as-loongson loongson
  300. .ds doc-volume-as-luna68k luna68k
  301. .ds doc-volume-as-luna88k luna88k
  302. .ds doc-volume-as-m68k m68k
  303. .ds doc-volume-as-mac68k mac68k
  304. .ds doc-volume-as-macppc macppc
  305. .ds doc-volume-as-mips mips
  306. .ds doc-volume-as-mips64 mips64
  307. .ds doc-volume-as-mipsco mipsco
  308. .ds doc-volume-as-mmeye mmeye
  309. .ds doc-volume-as-mvme68k mvme68k
  310. .ds doc-volume-as-mvme88k mvme88k
  311. .ds doc-volume-as-mvmeppc mvmeppc
  312. .ds doc-volume-as-netwinder netwinder
  313. .ds doc-volume-as-news68k news68k
  314. .ds doc-volume-as-newsmips newsmips
  315. .ds doc-volume-as-next68k next68k
  316. .ds doc-volume-as-ofppc ofppc
  317. .ds doc-volume-as-palm palm
  318. .ds doc-volume-as-pc532 pc532
  319. .ds doc-volume-as-playstation2 playstation2
  320. .ds doc-volume-as-pmax pmax
  321. .ds doc-volume-as-pmppc pmppc
  322. .ds doc-volume-as-powerpc powerpc
  323. .ds doc-volume-as-prep prep
  324. .ds doc-volume-as-rs6000 rs6000
  325. .ds doc-volume-as-sandpoint sandpoint
  326. .ds doc-volume-as-sbmips sbmips
  327. .ds doc-volume-as-sgi sgi
  328. .ds doc-volume-as-sgimips sgimips
  329. .ds doc-volume-as-sh3 sh3
  330. .ds doc-volume-as-shark shark
  331. .ds doc-volume-as-socppc socppc
  332. .ds doc-volume-as-solbourne solbourne
  333. .ds doc-volume-as-sparc sparc
  334. .ds doc-volume-as-sparc64 sparc64
  335. .ds doc-volume-as-sun2 sun2
  336. .ds doc-volume-as-sun3 sun3
  337. .ds doc-volume-as-tahoe tahoe
  338. .ds doc-volume-as-vax vax
  339. .ds doc-volume-as-x68k x68k
  340. .ds doc-volume-as-x86_64 x86_64
  341. .ds doc-volume-as-xen xen
  342. .ds doc-volume-as-zaurus zaurus
  343. .
  344. .de Dt
  345. . \" reset default arguments
  346. . ds doc-document-title UNTITLED
  347. . ds doc-volume LOCAL
  348. . ds doc-section Null
  349. . ds doc-command-name
  350. .
  351. . if !"\$1"" \
  352. . ds doc-document-title "\$1
  353. .
  354. . if !"\$2"" \{\
  355. . ds doc-section \$2
  356. . ie \B\$2 \{\
  357. . if ((\$2 >= 1) & (\$2 <= 9)) \{\
  358. . ie \n[doc-volume-operating-system-ateol] \{\
  359. . ds doc-volume "\*[doc-volume-ds-\$2] \*[doc-volume-operating-system]
  360. . if \A\$3 \{\
  361. . if d doc-volume-as-\$3 \
  362. . as doc-volume "/\*[doc-volume-as-\$3]
  363. . \}\}
  364. . el \{\
  365. . ds doc-volume "\*[doc-volume-operating-system]
  366. . if \A\$3 \{\
  367. . if d doc-volume-as-\$3 \
  368. . as doc-volume "/\*[doc-volume-as-\$3]
  369. . \}
  370. . as doc-volume " \*[doc-volume-ds-\$2]
  371. . \}\}\}
  372. . el \{\
  373. . ie "\$2"unass" \
  374. . ds doc-volume DRAFT
  375. . el \{ .ie "\$2"draft" \
  376. . ds doc-volume DRAFT
  377. . el .if "\$2"paper" \
  378. . ds doc-volume UNTITLED
  379. . \}\}
  380. . if \A\$3 \{\
  381. . if d doc-volume-ds-\$3 \
  382. . ds doc-volume "\*[doc-volume-ds-\$3]
  383. . \}\}\}
  384. .
  385. . if !"\$3"" \
  386. . if "\*[doc-volume]"LOCAL" \
  387. . ds doc-volume \$3
  388. .
  389. . if !\n[cR] \
  390. . if \n[nl] \{\
  391. . doc-setup-header
  392. . bp
  393. . \}
  394. ..
  395. .
  396. .
  397. .\" NS doc-default-operating-system global string
  398. .\" NS the exact (default) version of the operating system
  399. .\" NS
  400. .\" NS override this in `mdoc.local', if necessary
  401. .
  402. .ds doc-default-operating-system BSD
  403. .
  404. .
  405. .\" NS doc-operating-system global string
  406. .\" NS the exact version of the operating system
  407. .
  408. .ds doc-operating-system
  409. .
  410. .
  411. .\" NS Os user macro (not parsed, not callable)
  412. .\" NS operating system
  413. .\" NS
  414. .\" NS modifies:
  415. .\" NS doc-operating-system
  416. .\" NS doc-command-name
  417. .\" NS
  418. .\" NS local variables:
  419. .\" NS doc-operating-system-XXX-XXX
  420. .\" NS
  421. .\" NS width register `Os' set above
  422. .
  423. .ds doc-operating-system-ATT-7 7th\~Edition
  424. .als doc-operating-system-ATT-7th doc-operating-system-ATT-7
  425. .ds doc-operating-system-ATT-3 System\~III
  426. .als doc-operating-system-ATT-III doc-operating-system-ATT-3
  427. .ds doc-operating-system-ATT-V System\~V
  428. .ds doc-operating-system-ATT-V.2 System\~V Release\~2
  429. .ds doc-operating-system-ATT-V.3 System\~V Release\~3
  430. .ds doc-operating-system-ATT-V.4 System\~V Release\~4
  431. .
  432. .ds doc-operating-system-BSD-3 3rd\~Berkeley Distribution
  433. .ds doc-operating-system-BSD-4 4th\~Berkeley Distribution
  434. .ds doc-operating-system-BSD-4.1 4.1\~Berkeley Distribution
  435. .ds doc-operating-system-BSD-4.2 4.2\~Berkeley Distribution
  436. .ds doc-operating-system-BSD-4.3 4.3\~Berkeley Distribution
  437. .ds doc-operating-system-BSD-4.3T 4.3-Tahoe Berkeley Distribution
  438. .ds doc-operating-system-BSD-4.3R 4.3-Reno Berkeley Distribution
  439. .als doc-operating-system-BSD-4.3t doc-operating-system-BSD-4.3T
  440. .als doc-operating-system-BSD-4.3r doc-operating-system-BSD-4.3R
  441. .ds doc-operating-system-BSD-4.4 4.4BSD
  442. .
  443. .ds doc-operating-system-NetBSD-0.8 0.8
  444. .ds doc-operating-system-NetBSD-0.8a 0.8A
  445. .ds doc-operating-system-NetBSD-0.9 0.9
  446. .ds doc-operating-system-NetBSD-0.9a 0.9A
  447. .ds doc-operating-system-NetBSD-1.0 1.0
  448. .ds doc-operating-system-NetBSD-1.0a 1.0A
  449. .ds doc-operating-system-NetBSD-1.1 1.1
  450. .ds doc-operating-system-NetBSD-1.2 1.2
  451. .ds doc-operating-system-NetBSD-1.2a 1.2A
  452. .ds doc-operating-system-NetBSD-1.2b 1.2B
  453. .ds doc-operating-system-NetBSD-1.2c 1.2C
  454. .ds doc-operating-system-NetBSD-1.2d 1.2D
  455. .ds doc-operating-system-NetBSD-1.2e 1.2E
  456. .ds doc-operating-system-NetBSD-1.3 1.3
  457. .ds doc-operating-system-NetBSD-1.3a 1.3A
  458. .ds doc-operating-system-NetBSD-1.4 1.4
  459. .ds doc-operating-system-NetBSD-1.4.1 1.4.1
  460. .ds doc-operating-system-NetBSD-1.4.2 1.4.2
  461. .ds doc-operating-system-NetBSD-1.4.3 1.4.3
  462. .ds doc-operating-system-NetBSD-1.5 1.5
  463. .ds doc-operating-system-NetBSD-1.5.1 1.5.1
  464. .ds doc-operating-system-NetBSD-1.5.2 1.5.2
  465. .ds doc-operating-system-NetBSD-1.5.3 1.5.3
  466. .ds doc-operating-system-NetBSD-1.6 1.6
  467. .ds doc-operating-system-NetBSD-1.6.1 1.6.1
  468. .ds doc-operating-system-NetBSD-1.6.2 1.6.2
  469. .ds doc-operating-system-NetBSD-1.6.3 1.6.3
  470. .ds doc-operating-system-NetBSD-2.0 2.0
  471. .ds doc-operating-system-NetBSD-2.0.1 2.0.1
  472. .ds doc-operating-system-NetBSD-2.0.2 2.0.2
  473. .ds doc-operating-system-NetBSD-2.0.3 2.0.3
  474. .ds doc-operating-system-NetBSD-2.1 2.1
  475. .ds doc-operating-system-NetBSD-3.0 3.0
  476. .ds doc-operating-system-NetBSD-3.0.1 3.0.1
  477. .ds doc-operating-system-NetBSD-3.0.2 3.0.2
  478. .ds doc-operating-system-NetBSD-3.0.3 3.0.3
  479. .ds doc-operating-system-NetBSD-3.1 3.1
  480. .ds doc-operating-system-NetBSD-3.1.1 3.1.1
  481. .ds doc-operating-system-NetBSD-4.0 4.0
  482. .ds doc-operating-system-NetBSD-4.0.1 4.0.1
  483. .ds doc-operating-system-NetBSD-5.0 5.0
  484. .ds doc-operating-system-NetBSD-5.0.1 5.0.1
  485. .ds doc-operating-system-NetBSD-5.0.2 5.0.2
  486. .ds doc-operating-system-NetBSD-5.1 5.1
  487. .ds doc-operating-system-NetBSD-6.0 6.0
  488. .
  489. .ds doc-operating-system-OpenBSD-2.0 2.0
  490. .ds doc-operating-system-OpenBSD-2.1 2.1
  491. .ds doc-operating-system-OpenBSD-2.2 2.2
  492. .ds doc-operating-system-OpenBSD-2.3 2.3
  493. .ds doc-operating-system-OpenBSD-2.4 2.4
  494. .ds doc-operating-system-OpenBSD-2.5 2.5
  495. .ds doc-operating-system-OpenBSD-2.6 2.6
  496. .ds doc-operating-system-OpenBSD-2.7 2.7
  497. .ds doc-operating-system-OpenBSD-2.8 2.8
  498. .ds doc-operating-system-OpenBSD-2.9 2.9
  499. .ds doc-operating-system-OpenBSD-3.0 3.0
  500. .ds doc-operating-system-OpenBSD-3.1 3.1
  501. .ds doc-operating-system-OpenBSD-3.2 3.2
  502. .ds doc-operating-system-OpenBSD-3.3 3.3
  503. .ds doc-operating-system-OpenBSD-3.4 3.4
  504. .ds doc-operating-system-OpenBSD-3.5 3.5
  505. .ds doc-operating-system-OpenBSD-3.6 3.6
  506. .ds doc-operating-system-OpenBSD-3.7 3.7
  507. .ds doc-operating-system-OpenBSD-3.8 3.8
  508. .ds doc-operating-system-OpenBSD-3.9 3.9
  509. .ds doc-operating-system-OpenBSD-4.0 4.0
  510. .ds doc-operating-system-OpenBSD-4.1 4.1
  511. .ds doc-operating-system-OpenBSD-4.2 4.2
  512. .ds doc-operating-system-OpenBSD-4.3 4.3
  513. .ds doc-operating-system-OpenBSD-4.4 4.4
  514. .ds doc-operating-system-OpenBSD-4.5 4.5
  515. .ds doc-operating-system-OpenBSD-4.6 4.6
  516. .ds doc-operating-system-OpenBSD-4.7 4.7
  517. .ds doc-operating-system-OpenBSD-4.8 4.8
  518. .ds doc-operating-system-OpenBSD-4.9 4.9
  519. .ds doc-operating-system-OpenBSD-5.0 5.0
  520. .
  521. .ds doc-operating-system-FreeBSD-1.0 1.0
  522. .ds doc-operating-system-FreeBSD-1.1 1.1
  523. .ds doc-operating-system-FreeBSD-1.1.5 1.1.5
  524. .ds doc-operating-system-FreeBSD-1.1.5.1 1.1.5.1
  525. .ds doc-operating-system-FreeBSD-2.0 2.0
  526. .ds doc-operating-system-FreeBSD-2.0.5 2.0.5
  527. .ds doc-operating-system-FreeBSD-2.1 2.1
  528. .ds doc-operating-system-FreeBSD-2.1.5 2.1.5
  529. .ds doc-operating-system-FreeBSD-2.1.6 2.1.6
  530. .ds doc-operating-system-FreeBSD-2.1.7 2.1.7
  531. .ds doc-operating-system-FreeBSD-2.2 2.2
  532. .ds doc-operating-system-FreeBSD-2.2.1 2.2.1
  533. .ds doc-operating-system-FreeBSD-2.2.2 2.2.2
  534. .ds doc-operating-system-FreeBSD-2.2.5 2.2.5
  535. .ds doc-operating-system-FreeBSD-2.2.6 2.2.6
  536. .ds doc-operating-system-FreeBSD-2.2.7 2.2.7
  537. .ds doc-operating-system-FreeBSD-2.2.8 2.2.8
  538. .ds doc-operating-system-FreeBSD-3.0 3.0
  539. .ds doc-operating-system-FreeBSD-3.1 3.1
  540. .ds doc-operating-system-FreeBSD-3.2 3.2
  541. .ds doc-operating-system-FreeBSD-3.3 3.3
  542. .ds doc-operating-system-FreeBSD-3.4 3.4
  543. .ds doc-operating-system-FreeBSD-3.5 3.5
  544. .ds doc-operating-system-FreeBSD-4.0 4.0
  545. .ds doc-operating-system-FreeBSD-4.1 4.1
  546. .ds doc-operating-system-FreeBSD-4.1.1 4.1.1
  547. .ds doc-operating-system-FreeBSD-4.2 4.2
  548. .ds doc-operating-system-FreeBSD-4.3 4.3
  549. .ds doc-operating-system-FreeBSD-4.4 4.4
  550. .ds doc-operating-system-FreeBSD-4.5 4.5
  551. .ds doc-operating-system-FreeBSD-4.6 4.6
  552. .ds doc-operating-system-FreeBSD-4.6.2 4.6.2
  553. .ds doc-operating-system-FreeBSD-4.7 4.7
  554. .ds doc-operating-system-FreeBSD-4.8 4.8
  555. .ds doc-operating-system-FreeBSD-4.9 4.9
  556. .ds doc-operating-system-FreeBSD-4.10 4.10
  557. .ds doc-operating-system-FreeBSD-4.11 4.11
  558. .ds doc-operating-system-FreeBSD-5.0 5.0
  559. .ds doc-operating-system-FreeBSD-5.1 5.1
  560. .ds doc-operating-system-FreeBSD-5.2 5.2
  561. .ds doc-operating-system-FreeBSD-5.2.1 5.2.1
  562. .ds doc-operating-system-FreeBSD-5.3 5.3
  563. .ds doc-operating-system-FreeBSD-5.4 5.4
  564. .ds doc-operating-system-FreeBSD-5.5 5.5
  565. .ds doc-operating-system-FreeBSD-6.0 6.0
  566. .ds doc-operating-system-FreeBSD-6.1 6.1
  567. .ds doc-operating-system-FreeBSD-6.2 6.2
  568. .ds doc-operating-system-FreeBSD-6.3 6.3
  569. .ds doc-operating-system-FreeBSD-6.4 6.4
  570. .ds doc-operating-system-FreeBSD-7.0 7.0
  571. .ds doc-operating-system-FreeBSD-7.1 7.1
  572. .ds doc-operating-system-FreeBSD-7.2 7.2
  573. .ds doc-operating-system-FreeBSD-7.3 7.3
  574. .ds doc-operating-system-FreeBSD-8.0 8.0
  575. .ds doc-operating-system-FreeBSD-8.1 8.1
  576. .ds doc-operating-system-FreeBSD-8.2 8.2
  577. .ds doc-operating-system-FreeBSD-9.0 9.0
  578. .
  579. .ds doc-operating-system-Darwin-8.0.0 8.0.0
  580. .ds doc-operating-system-Darwin-8.1.0 8.1.0
  581. .ds doc-operating-system-Darwin-8.2.0 8.2.0
  582. .ds doc-operating-system-Darwin-8.3.0 8.3.0
  583. .ds doc-operating-system-Darwin-8.4.0 8.4.0
  584. .ds doc-operating-system-Darwin-8.5.0 8.5.0
  585. .ds doc-operating-system-Darwin-8.6.0 8.6.0
  586. .ds doc-operating-system-Darwin-8.7.0 8.7.0
  587. .ds doc-operating-system-Darwin-8.8.0 8.8.0
  588. .ds doc-operating-system-Darwin-8.9.0 8.9.0
  589. .ds doc-operating-system-Darwin-8.10.0 8.10.0
  590. .ds doc-operating-system-Darwin-8.11.0 8.11.0
  591. .ds doc-operating-system-Darwin-9.0.0 9.0.0
  592. .ds doc-operating-system-Darwin-9.1.0 9.1.0
  593. .ds doc-operating-system-Darwin-9.2.0 9.2.0
  594. .ds doc-operating-system-Darwin-9.3.0 9.3.0
  595. .ds doc-operating-system-Darwin-9.4.0 9.4.0
  596. .ds doc-operating-system-Darwin-9.5.0 9.5.0
  597. .ds doc-operating-system-Darwin-9.6.0 9.6.0
  598. .ds doc-operating-system-Darwin-9.7.0 9.7.0
  599. .ds doc-operating-system-Darwin-9.8.0 9.8.0
  600. .ds doc-operating-system-Darwin-10.1.0 10.1.0
  601. .ds doc-operating-system-Darwin-10.2.0 10.2.0
  602. .ds doc-operating-system-Darwin-10.3.0 10.3.0
  603. .ds doc-operating-system-Darwin-10.4.0 10.4.0
  604. .ds doc-operating-system-Darwin-10.5.0 10.5.0
  605. .ds doc-operating-system-Darwin-10.6.0 10.6.0
  606. .ds doc-operating-system-Darwin-10.7.0 10.7.0
  607. .ds doc-operating-system-Darwin-11.0.0 11.0.0
  608. .
  609. .ds doc-operating-system-DragonFly-1.0 1.0
  610. .ds doc-operating-system-DragonFly-1.1 1.1
  611. .ds doc-operating-system-DragonFly-1.2 1.2
  612. .ds doc-operating-system-DragonFly-1.3 1.3
  613. .ds doc-operating-system-DragonFly-1.4 1.4
  614. .ds doc-operating-system-DragonFly-1.5 1.5
  615. .ds doc-operating-system-DragonFly-1.6 1.6
  616. .ds doc-operating-system-DragonFly-1.8 1.8
  617. .ds doc-operating-system-DragonFly-1.8.1 1.8.1
  618. .ds doc-operating-system-DragonFly-1.10 1.10
  619. .ds doc-operating-system-DragonFly-1.12 1.12
  620. .ds doc-operating-system-DragonFly-1.12.2 1.12.2
  621. .ds doc-operating-system-DragonFly-2.0 2.0
  622. .ds doc-operating-system-DragonFly-2.2 2.2
  623. .ds doc-operating-system-DragonFly-2.4 2.4
  624. .ds doc-operating-system-DragonFly-2.6 2.6
  625. .ds doc-operating-system-DragonFly-2.8 2.8
  626. .ds doc-operating-system-DragonFly-2.9 2.9
  627. .ds doc-operating-system-DragonFly-2.9.1 2.9.1
  628. .ds doc-operating-system-DragonFly-2.10 2.10
  629. .ds doc-operating-system-DragonFly-2.10.1 2.10.1
  630. .ds doc-operating-system-DragonFly-2.11 2.11
  631. .
  632. .de Os
  633. . ds doc-command-name
  634. .
  635. . ie "\$1"" \
  636. . ds doc-operating-system "\*[doc-default-operating-system]
  637. . el \{ .ie "\$1"ATT" \{\
  638. . ds doc-operating-system AT&T
  639. . if \A\$2 \{\
  640. . ie d doc-operating-system-ATT-\$2 \
  641. . as doc-operating-system " \*[doc-operating-system-ATT-\$2]
  642. . el \
  643. . as doc-operating-system " UNIX
  644. . \}\}
  645. . el \{ .ie "\$1"BSD" \{\
  646. . if \A\$2 \{\
  647. . ie d doc-operating-system-BSD-\$2 \
  648. . ds doc-operating-system "\*[doc-operating-system-BSD-\$2]
  649. . el \
  650. . tm mdoc warning: .Os: Unknown BSD version `\$2' (#\n[.c])
  651. . \}\}
  652. . el \{ .ie "\$1"FreeBSD" \{\
  653. . ds doc-operating-system FreeBSD
  654. . if \A\$2 \{\
  655. . ie d doc-operating-system-FreeBSD-\$2 \
  656. . as doc-operating-system \~\*[doc-operating-system-FreeBSD-\$2]
  657. . el \
  658. . tm mdoc warning: .Os: Unknown FreeBSD version `\$2' (#\n[.c])
  659. . \}\}
  660. . el \{ .ie "\$1"DragonFly" \{\
  661. . ds doc-operating-system DragonFly
  662. . if \A\$2 \{\
  663. . ie d doc-operating-system-DragonFly-\$2 \
  664. . as doc-operating-system \~\*[doc-operating-system-DragonFly-\$2]
  665. . el \
  666. . tm mdoc warning: .Os: Unknown DragonFly version `\$2' (#\n[.c])
  667. . \}\}
  668. . el \{ .ie "\$1"NetBSD" \{\
  669. . ds doc-operating-system NetBSD
  670. . if \A\$2 \{\
  671. . ie d doc-operating-system-NetBSD-\$2 \
  672. . as doc-operating-system \~\*[doc-operating-system-NetBSD-\$2]
  673. . el \
  674. . tm mdoc warning: .Os: Unknown NetBSD version `\$2' (#\n[.c])
  675. . \}\}
  676. . el \{ .ie "\$1"OpenBSD" \{\
  677. . ds doc-operating-system OpenBSD
  678. . if \A\$2 \{\
  679. . ie d doc-operating-system-OpenBSD-\$2 \
  680. . as doc-operating-system \~\*[doc-operating-system-OpenBSD-\$2]
  681. . el \
  682. . tm mdoc warning: .Os: Unknown OpenBSD version `\$2' (#\n[.c])
  683. . \}\}
  684. . el \{ .ie "\$1"Darwin" \{\
  685. . ds doc-operating-system Darwin
  686. . if \A\$2 \{\
  687. . ie d doc-operating-system-Darwin-\$2 \
  688. . as doc-operating-system \~\*[doc-operating-system-Darwin-\$2]
  689. . el \
  690. . tm mdoc warning: .Os: Unknown Darwin version `\$2' (#\n[.c])
  691. . \}\}
  692. . el \{\
  693. . ds doc-operating-system \$1
  694. . if !"\$2"" \
  695. . as doc-operating-system " \$2
  696. . \}\}\}\}\}\}\}\}
  697. ..
  698. .
  699. .
  700. .\" NS doc-date-string global string
  701. .\" NS the manual page date as set by `Dd'
  702. .
  703. .ds doc-date-string
  704. .
  705. .
  706. .\" NS Dd user macro (not parsed, not callable)
  707. .\" NS set document date
  708. .\" NS
  709. .\" NS modifies:
  710. .\" NS doc-date-string
  711. .\" NS doc-command-name
  712. .\" NS
  713. .\" NS local variables:
  714. .\" NS doc-date-XXX
  715. .\" NS
  716. .\" NS width register `Dd' set above
  717. .
  718. .ds doc-date-1 January
  719. .ds doc-date-2 February
  720. .ds doc-date-3 March
  721. .ds doc-date-4 April
  722. .ds doc-date-5 May
  723. .ds doc-date-6 June
  724. .ds doc-date-7 July
  725. .ds doc-date-8 August
  726. .ds doc-date-9 September
  727. .ds doc-date-10 October
  728. .ds doc-date-11 November
  729. .ds doc-date-12 December
  730. .
  731. .de Dd
  732. . ds doc-command-name
  733. .
  734. . ie \n[.$] \{\
  735. . ie (\n[.$] == 3) \
  736. . ds doc-date-string \$1\~\$2 \$3
  737. . el \{\
  738. . ds doc-date-string "\*[doc-date-\n[mo]]
  739. . as doc-date-string \~\n[dy], \n[year]
  740. . \}
  741. . \}
  742. . el \
  743. . ds doc-date-string Epoch
  744. ..
  745. .
  746. .
  747. .\" NS doc-hyphen-flags global register
  748. .\" NS the parameter for the `.hy' request
  749. .\" NS
  750. .\" NS override this in `mdoc.local', if necessary.
  751. .
  752. .nr doc-hyphen-flags 12
  753. .
  754. .
  755. .\" NS doc-header macro
  756. .\" NS print page header
  757. .\" NS
  758. .\" NS local variables:
  759. .\" NS doc-reg-dh
  760. .\" NS doc-reg-dh1
  761. .
  762. .de doc-header
  763. . ev doc-env-dh
  764. . doc-setup-page-layout
  765. . if !\n[cR] \
  766. . sp \n[doc-header-space]u
  767. . nr doc-reg-dh \w'\*[doc-caption-font]\*[doc-header-string]\f[]'
  768. . nr doc-reg-dh1 \w'\*[doc-caption-font2]\*[doc-volume]\f[]'
  769. . if (\n[doc-reg-dh] + \n[doc-reg-dh1] + \n[doc-reg-dh] >= \n[.lt]) \{\
  770. . while (\n[doc-reg-dh] + \n[doc-reg-dh1] + \n[doc-reg-dh] >= \n[.lt]) \{\
  771. . substring doc-header-string 0 -2
  772. . nr doc-reg-dh \w'\*[doc-caption-font]\*[doc-header-string]\|.\|.\|.\f[]'
  773. . \}
  774. . as doc-header-string "\|.\|.\|.
  775. . \}
  776. . tl \*[doc-caption-font]\*[doc-header-string]\f[]\*[doc-caption-font2]\*[doc-volume]\f[]\*[doc-caption-font]\*[doc-header-string]\f[]
  777. . ie !\n[cR] \
  778. . sp \n[doc-header-space]u
  779. . el \
  780. . sp 1v
  781. . ev
  782. . ns
  783. ..
  784. .
  785. .
  786. .\" NS doc-footer macro
  787. .\" NS print page footer
  788. .
  789. .de doc-footer
  790. . ie \n[cR] \
  791. . br
  792. . el \{\
  793. . ev doc-caption-enviroment
  794. . doc-setup-page-layout
  795. . sp \n[doc-footer-space]u
  796. . ie \n[D] \{\
  797. . ie o \
  798. . tl %\*[doc-caption-font2]\*[doc-date-string]\f[]\*[doc-caption-font]\*[doc-operating-system]\f[]
  799. . el \
  800. . tl \*[doc-caption-font]\*[doc-operating-system]\f[]\*[doc-caption-font2]\*[doc-date-string]\f[]%
  801. . \}
  802. . el \
  803. . tl \*[doc-caption-font]\*[doc-operating-system]\f[]\*[doc-caption-font2]\*[doc-date-string]\f[]%
  804. . bp
  805. . ev
  806. . \}
  807. ..
  808. .
  809. .
  810. .\" NS doc-check-depth macro
  811. .\" NS check paired macros
  812. .
  813. .de doc-check-depth
  814. . if \n[doc-list-depth] \{\
  815. . tm mdoc warning: A .Bl directive has no matching .El (#\n[.c])
  816. . nr doc-list-depth 0
  817. . \}
  818. . if \n[doc-display-depth] \{\
  819. . tm mdoc warning: A .Bd directive has no matching .Ed (#\n[.c])
  820. . nr doc-display-depth 0
  821. . \}
  822. . if \n[doc-fontmode-depth] \{\
  823. . tm mdoc warning: A .Bf directive has no matching .Ef (#\n[.c])
  824. . nr doc-fontmode-depth 0
  825. . \}
  826. ..
  827. .
  828. .
  829. .\" NS doc-end-macro macro
  830. .\" NS finish output
  831. .
  832. .de doc-end-macro
  833. . \" We may still have a partial line in the environment. If this is the
  834. . \" case, and we happen to be on the last line of the page, the `.fl'
  835. . \" request will cause the page to be ejected and troff will immediately
  836. . \" exit. If we are in nroff mode, this would be unfortunate, since we
  837. . \" would never get a chance to output the footer. So we fudge the page
  838. . \" length to make sure that the last page is never ejected until we want
  839. . \" it to be.
  840. .
  841. . if \n[cR] \
  842. . pl +3v
  843. . fl
  844. .
  845. . doc-check-depth
  846. .
  847. . if \n[cR] \{\
  848. . sp
  849. . tl \*[doc-caption-font]\*[doc-operating-system]\f[]\*[doc-caption-font2]\*[doc-date-string]\f[]\*[doc-caption-font]\*[doc-operating-system]\f[]
  850. . \" suppress empty lines after the footer
  851. . pl \n[nl]u
  852. . \}
  853. ..
  854. .
  855. .
  856. .\" NS doc-paragraph macro
  857. .\" NS insert a paragraph
  858. .
  859. .de doc-paragraph
  860. . sp \n[doc-paragraph-space]u
  861. . if !\n[cR] \
  862. . ne 2
  863. . ns
  864. ..
  865. .
  866. .
  867. .\" NS Pp user macro (not parsed, not callable)
  868. .\" NS new paragraph
  869. .\" NS
  870. .\" NS width register `Pp' set above
  871. .
  872. .als Pp doc-paragraph
  873. .
  874. .
  875. .\" NS Lp user macro (not parsed, not callable)
  876. .\" NS same as .Pp
  877. .\" NS
  878. .\" NS width register `Lp' set above
  879. .
  880. .als Lp doc-paragraph
  881. .
  882. .
  883. .de LP
  884. . tm Not a \-mdoc command: .LP (#\n[.c])
  885. ..
  886. .
  887. .
  888. .de PP
  889. . tm Not a \-mdoc command: .PP (#\n[.c])
  890. ..
  891. .
  892. .
  893. .de pp
  894. . tm Not a \-mdoc command: .pp (#\n[.c])
  895. ..
  896. .
  897. .
  898. .de SH
  899. . tm Not a \-mdoc command: .SH (#\n[.c])
  900. ..
  901. .
  902. .
  903. .\" NS Nd user macro (not parsed, not callable)
  904. .\" NS print name description
  905. .\" NS
  906. .\" NS width register `Nd' set above
  907. .
  908. .de Nd
  909. . nop \[em] \$*
  910. ..
  911. .
  912. .
  913. .\" NS doc-in-synopsis-section global register (bool)
  914. .\" NS whether we are in the `synopsis' section
  915. .
  916. .nr doc-in-synopsis-section 0
  917. .
  918. .
  919. .\" NS doc-in-library-section global register (bool)
  920. .\" NS whether we are in the `library' section
  921. .
  922. .nr doc-in-library-section 0
  923. .
  924. .
  925. .\" NS doc-in-see-also-section global register (bool)
  926. .\" NS whether we are in the `see also' section
  927. .
  928. .nr doc-in-see-also-section 0
  929. .
  930. .
  931. .\" NS doc-in-files-section global register (bool)
  932. .\" NS whether we are in the `files' section
  933. .
  934. .nr doc-in-files-section 0
  935. .
  936. .
  937. .\" NS doc-in-authors-section global register (bool)
  938. .\" NS whether we are in the `authors' section
  939. .
  940. .nr doc-in-authors-section 0
  941. .
  942. .
  943. .\" NS doc-first-parameter macro
  944. .\" NS return first parameter
  945. .\" NS
  946. .\" NS local variables:
  947. .\" NS doc-str-dfp
  948. .
  949. .de doc-first-parameter
  950. . ds doc-str-dfp "\$1
  951. ..
  952. .
  953. .
  954. .\" NS Sh user macro (not callable)
  955. .\" NS section headers
  956. .\" NS
  957. .\" NS modifies:
  958. .\" NS doc-func-args-processed
  959. .\" NS doc-func-count
  960. .\" NS doc-in-authors-section
  961. .\" NS doc-in-files-section
  962. .\" NS doc-in-library-section
  963. .\" NS doc-in-see-also-section
  964. .\" NS doc-in-synopsis-section
  965. .\" NS doc-indent-synopsis
  966. .\" NS doc-indent-synopsis-active
  967. .\" NS doc-is-func
  968. .\" NS doc-num-func-args
  969. .\" NS
  970. .\" NS local variables:
  971. .\" NS doc-reg-Sh
  972. .\" NS doc-reg-Sh1
  973. .\" NS doc-section-XXX
  974. .\" NS
  975. .\" NS width register `Sh' set in doc-common
  976. .
  977. .ds doc-section-name NAME
  978. .ds doc-section-synopsis SYNOPSIS
  979. .ds doc-section-library LIBRARY
  980. .ds doc-section-description DESCRIPTION
  981. .ds doc-section-see-also SEE
  982. .ds doc-section-files FILES
  983. .ds doc-section-authors AUTHORS
  984. .
  985. .de Sh
  986. . ie \n[doc-arg-limit] \{\
  987. . \" we only allow `Sh' within `Sh'; it will change the font back to
  988. . \" `doc-Sh-font'
  989. . ie "\*[doc-macro-name]"Sh" \{\
  990. . nr doc-arg-ptr +1
  991. . ie (\n[doc-arg-limit] >= \n[doc-arg-ptr]) \{\
  992. . nr doc-curr-font \n[.f]
  993. . nr doc-curr-size \n[.ps]
  994. . nop \*[doc-Sh-font]\c
  995. . doc-print-recursive
  996. . \}
  997. . el \{\
  998. . tm Usage: .Sh section_name ... (#\n[.c])
  999. . doc-reset-args
  1000. . \}\}
  1001. . el \{\
  1002. . tm Usage: .Sh not callable by other macros (#\n[.c])
  1003. . doc-reset-args
  1004. . \}\}
  1005. . el \{\
  1006. . if !\n[.$] \{\
  1007. . tm Usage: .Sh section_name ... (#\n[.c])
  1008. . return
  1009. . \}
  1010. .
  1011. . ds doc-macro-name Sh
  1012. . doc-parse-args \$@
  1013. .
  1014. . if t \
  1015. . ad
  1016. .
  1017. . \" this resolves e.g. `.Sh "SEE ALSO"'
  1018. . doc-first-parameter \$*
  1019. .
  1020. . ie "\*[doc-str-dfp]"\*[doc-section-name]" \{\
  1021. . doc-setup-header
  1022. . in 0
  1023. . \}
  1024. . el \{\
  1025. . nr doc-in-synopsis-section 0
  1026. . nr doc-in-library-section 0
  1027. . nr doc-in-see-also-section 0
  1028. . nr doc-in-files-section 0
  1029. . nr doc-in-authors-section 0
  1030. .
  1031. . ie "\*[doc-str-dfp]"\*[doc-section-synopsis]" \{\
  1032. . if t \
  1033. . na
  1034. . nr doc-in-synopsis-section 1
  1035. . nr doc-indent-synopsis 0
  1036. . nr doc-indent-synopsis-active 0
  1037. . \}
  1038. . el \{ .ie "\*[doc-str-dfp]"\*[doc-section-library]" \{\
  1039. . nr doc-in-library-section 1
  1040. . \}
  1041. . el \{ .ie "\*[doc-str-dfp]"\*[doc-section-description]" \{\
  1042. . nr doc-is-func 0
  1043. . nr doc-func-count 0
  1044. . nr doc-func-args-processed 0
  1045. . nr doc-num-func-args 0
  1046. . \}
  1047. . el \{ .ie "\*[doc-str-dfp]"\*[doc-section-see-also]" \{\
  1048. . if t \
  1049. . na
  1050. . nr doc-in-see-also-section 1
  1051. . \}
  1052. . el \{ .ie "\*[doc-str-dfp]"\*[doc-section-files]" \
  1053. . nr doc-in-files-section 1
  1054. . el .if "\*[doc-str-dfp]"\*[doc-section-authors]" \
  1055. . nr doc-in-authors-section 1
  1056. . \}\}\}\}
  1057. .
  1058. . in 0
  1059. . nr doc-have-author 0
  1060. . \}
  1061. .
  1062. . doc-setup-page-layout
  1063. . sp
  1064. . ns
  1065. . ta T .5i
  1066. . if !\n[cR] \
  1067. . ne 3
  1068. . fi
  1069. .
  1070. . if t \{\
  1071. . nr doc-reg-Sh \n[.ss]
  1072. . nr doc-reg-Sh1 \n[.sss]
  1073. . ss (\n[.ss] * 5 / 3) (\n[.sss] * 5 / 3)
  1074. . \}
  1075. .
  1076. . nr doc-arg-ptr +1
  1077. . nr doc-curr-font \n[.f]
  1078. . nr doc-curr-size \n[.ps]
  1079. . nop \*[doc-Sh-font]\c
  1080. . doc-print-recursive
  1081. .
  1082. . if t \
  1083. . ss \n[doc-reg-Sh] \n[doc-reg-Sh1]
  1084. .
  1085. . in +\n[doc-subheader-indent]u
  1086. . ns
  1087. .
  1088. . doc-check-depth
  1089. . \}
  1090. ..
  1091. .
  1092. .
  1093. .\" NS Ss user macro (not callable)
  1094. .\" NS subsection
  1095. .\" NS
  1096. .\" NS local variable:
  1097. .\" NS doc-reg-Ss
  1098. .\" NS doc-reg-Ss1
  1099. .\" NS
  1100. .\" NS width register `Ss' set above
  1101. .
  1102. .de Ss
  1103. . ie \n[doc-arg-limit] \{\
  1104. . \" we only allow `Ss' within `Ss'; it will change the font back to
  1105. . \" `doc-Sh-font'
  1106. . ie "\*[doc-macro-name]"Ss" \{\
  1107. . nr doc-arg-ptr +1
  1108. . ie (\n[doc-arg-limit] >= \n[doc-arg-ptr]) \{\
  1109. . nr doc-curr-font \n[.f]
  1110. . nr doc-curr-size \n[.ps]
  1111. . nop \*[doc-Sh-font]\c
  1112. . doc-print-recursive
  1113. . \}
  1114. . el \{\
  1115. . tm Usage: .Ss subsection_name ... (#\n[.c])
  1116. . doc-reset-args
  1117. . \}\}
  1118. . el \{\
  1119. . tm Usage: .Ss not callable by other macros (#\n[.c])
  1120. . doc-reset-args
  1121. . \}\}
  1122. . el \{\
  1123. . if !\n[.$] \{\
  1124. . tm Usage: .Ss subsection_name ... (#\n[.c])
  1125. . return
  1126. . \}
  1127. .
  1128. . ds doc-macro-name Ss
  1129. . doc-parse-args \$@
  1130. .
  1131. . sp
  1132. . if !\n[cR] \
  1133. . ne 3
  1134. . ti -.25i
  1135. .
  1136. . nr doc-reg-Ss \n[.ss]
  1137. . nr doc-reg-Ss1 \n[.sss]
  1138. . ss (\n[.ss] * 5 / 4) (\n[.sss] * 5 / 4)
  1139. .
  1140. . nr doc-arg-ptr +1
  1141. . nr doc-curr-font \n[.f]
  1142. . nr doc-curr-size \n[.ps]
  1143. . nop \*[doc-Sh-font]\c
  1144. . doc-print-recursive
  1145. .
  1146. . ss \n[doc-reg-Ss] \n[doc-reg-Ss1]
  1147. .
  1148. . ta T .5i
  1149. . if !\n[cR] \
  1150. . ne 2
  1151. . br
  1152. . ns
  1153. .
  1154. . doc-check-depth
  1155. . \}
  1156. ..
  1157. .
  1158. .
  1159. .\" NS Rd macro (not parsed, not callable)
  1160. .\" NS print global register dump to stderr
  1161. .\" NS
  1162. .\" NS local variables:
  1163. .\" NS doc-reg-Rd
  1164. .
  1165. .de Rd
  1166. . tm MDOC GLOBAL REGISTER DUMP
  1167. . tm doc-macro-name == `\*[doc-macro-name]'
  1168. . tm doc-arg-limit == \n[doc-arg-limit]
  1169. . tm doc-num-args == \n[doc-num-args]
  1170. . tm doc-arg-ptr == \n[doc-arg-ptr]
  1171. .
  1172. . nr doc-reg-Rd 1
  1173. . while (\n[doc-reg-Rd] <= \n[doc-arg-limit]) \{\
  1174. . tm doc-arg\n[doc-reg-Rd] == `\*[doc-arg\n[doc-reg-Rd]]'
  1175. . tm doc-type\n[doc-reg-Rd] == \n[doc-type\n[doc-reg-Rd]]
  1176. . tm doc-space\n[doc-reg-Rd] == `\*[doc-space\n[doc-reg-Rd]]'
  1177. . nr doc-reg-Rd +1
  1178. . \}
  1179. .
  1180. . tm doc-curr-font == \n[doc-curr-font]
  1181. . tm doc-curr-size == \n[doc-curr-size]
  1182. . tm doc-indent-synopsis == \n[doc-indent-synopsis]
  1183. . tm doc-indent-synopsis-active == \n[doc-indent-synopsis-active]
  1184. . tm doc-have-decl == \n[doc-have-decl]
  1185. . tm doc-have-var == \n[doc-have-var]
  1186. . tm doc-command-name == `\*[doc-command-name]'
  1187. . tm doc-quote-left == `\*[doc-quote-left]'
  1188. . tm doc-quote-right == `\*[doc-quote-right]'
  1189. . tm doc-nesting-level == \n[doc-nesting-level]
  1190. . tm doc-in-list == \n[doc-in-list]
  1191. . tm doc-space == `\*[doc-space]'
  1192. . tm doc-saved-space == `\*[doc-saved-space]'
  1193. . tm doc-space-mode == \n[doc-space-mode]
  1194. . tm doc-have-space == \n[doc-have-space]
  1195. . tm doc-have-slot == \n[doc-have-slot]
  1196. . tm doc-keep-type == \n[doc-keep-type]
  1197. . tm doc-display-depth == \n[doc-display-depth]
  1198. . tm doc-is-compact == \n[doc-is-compact]
  1199. .
  1200. . nr doc-reg-Rd 0
  1201. . while (\n[doc-reg-Rd] <= \n[doc-display-depth]) \{\
  1202. . tm doc-display-type-stack\n[doc-reg-Rd] == `\*[doc-display-type-stack\n[doc-reg-Rd]]'
  1203. . tm doc-display-indent-stack\n[doc-reg-Rd] == \n[doc-display-indent-stack\n[doc-reg-Rd]]
  1204. . tm doc-display-ad-stack\n[doc-reg-Rd] == \n[doc-display-ad-stack\n[doc-reg-Rd]]
  1205. . tm doc-display-fi-stack\n[doc-reg-Rd] == \n[doc-display-fi-stack\n[doc-reg-Rd]]
  1206. . tm doc-display-ft-stack\n[doc-reg-Rd] == \n[doc-display-ft-stack\n[doc-reg-Rd]]
  1207. . tm doc-display-ps-stack\n[doc-reg-Rd] == \n[doc-display-ps-stack\n[doc-reg-Rd]]
  1208. . nr doc-reg-Rd +1
  1209. . \}
  1210. .
  1211. . tm doc-fontmode-depth == \n[doc-fontmode-depth]
  1212. .
  1213. . nr doc-reg-Rd 1
  1214. . while (\n[doc-reg-Rd] <= \n[doc-fontmode-depth]) \{\
  1215. . tm doc-fontmode-font-stack\n[doc-reg-Rd] == `\n[doc-fontmode-font-stack\n[doc-reg-Rd]]'
  1216. . tm doc-fontmode-size-stack\n[doc-reg-Rd] == `\n[doc-fontmode-size-stack\n[doc-reg-Rd]]'
  1217. . nr doc-reg-Rd +1
  1218. . \}
  1219. .
  1220. . tm doc-list-depth == \n[doc-list-depth]
  1221. .
  1222. . nr doc-reg-Rd 1
  1223. . while (\n[doc-reg-Rd] <= \n[doc-list-depth]) \{\
  1224. . tm doc-list-type-stack\n[doc-reg-Rd] == `\*[doc-list-type-stack\n[doc-reg-Rd]]'
  1225. . tm doc-list-have-indent-stack\n[doc-reg-Rd] == \n[doc-list-have-indent-stack\n[doc-reg-Rd]]
  1226. . tm doc-list-indent-stack\n[doc-reg-Rd] == \n[doc-list-indent-stack\n[doc-reg-Rd]]
  1227. . tm doc-compact-list-stack\n[doc-reg-Rd] == \n[doc-compact-list-stack\n[doc-reg-Rd]]
  1228. . tm doc-tag-prefix-stack\n[doc-reg-Rd] == `\*[doc-tag-prefix-stack\n[doc-reg-Rd]]'
  1229. . tm doc-tag-width-stack\n[doc-reg-Rd] == `\*[doc-tag-width-stack\n[doc-reg-Rd]]'
  1230. . tm doc-list-offset-stack\n[doc-reg-Rd] == \n[doc-list-offset-stack\n[doc-reg-Rd]]
  1231. . tm doc-enum-list-count-stack\n[doc-reg-Rd] == \n[doc-enum-list-count-stack\n[doc-reg-Rd]]
  1232. . nr doc-reg-Rd +1
  1233. . \}
  1234. .
  1235. . tm doc-saved-Pa-font == `\*[doc-saved-Pa-font]'
  1236. . tm doc-curr-type == \n[doc-curr-type]
  1237. . tm doc-curr-arg == `\*[doc-curr-arg]'
  1238. . tm doc-diag-list-input-line-count == \n[doc-diag-list-input-line-count]
  1239. . tm doc-num-columns == \n[doc-num-columns]
  1240. . tm doc-column-indent-width == \n[doc-column-indent-width]
  1241. . tm doc-is-func == \n[doc-is-func]
  1242. . tm doc-have-old-func == \n[doc-have-old-func]
  1243. . tm doc-func-arg-count == \n[doc-func-arg-count]
  1244. . tm doc-func-arg == `\*[doc-func-arg]'
  1245. . tm doc-num-func-args == \n[doc-num-func-args]
  1246. . tm doc-func-args-processed == \n[doc-func-args-processed]
  1247. . tm doc-have-func == \n[doc-have-func]
  1248. . tm doc-is-reference == \n[doc-is-reference]
  1249. . tm doc-reference-count == \n[doc-reference-count]
  1250. . tm doc-author-count == \n[doc-author-count]
  1251. .
  1252. . nr doc-reg-Rd 0
  1253. . while (\n[doc-reg-Rd] <= \n[doc-author-count]) \{\
  1254. . tm doc-author-name\n[doc-reg-Rd] == `\*[doc-author-name\n[doc-reg-Rd]]'
  1255. . nr doc-reg-Rd +1
  1256. . \}
  1257. .
  1258. . tm doc-book-count == \n[doc-book-count]
  1259. . tm doc-book-name == `\*[doc-book-name]'
  1260. . tm doc-date-count == \n[doc-date-count]
  1261. . tm doc-date == `\*[doc-date]'
  1262. . tm doc-publisher-count == \n[doc-publisher-count]
  1263. . tm doc-publisher-name == `\*[doc-publisher-name]'
  1264. . tm doc-journal-count == \n[doc-journal-count]
  1265. . tm doc-journal-name == `\*[doc-journal-name]'
  1266. . tm doc-issue-count == \n[doc-issue-count]
  1267. . tm doc-issue-name == `\*[doc-issue-name]'
  1268. . tm doc-optional-count == \n[doc-optional-count]
  1269. . tm doc-optional-string == `\*[doc-optional-string]'
  1270. . tm doc-page-number-count == \n[doc-page-number-count]
  1271. . tm doc-page-number-string == `\*[doc-page-number-string]'
  1272. . tm doc-corporate-count == \n[doc-corporate-count]
  1273. . tm doc-corporate-name == `\*[doc-corporate-name]'
  1274. . tm doc-report-count == \n[doc-report-count]
  1275. . tm doc-report-name == `\*[doc-report-name]'
  1276. . tm doc-reference-title-count == \n[doc-reference-title-count]
  1277. . tm doc-reference-title-name == `\*[doc-reference-title-name]'
  1278. . tm doc-reference-title-name-for-book == `\*[doc-reference-title-name-for-book]'
  1279. . tm doc-url-count == \n[doc-url-count]
  1280. . tm doc-url-name == `\*[doc-url-name]'
  1281. . tm doc-volume-count == \n[doc-volume-count]
  1282. . tm doc-volume-name == `\*[doc-volume-name]'
  1283. . tm doc-have-author == \n[doc-have-author]
  1284. .
  1285. . tm doc-document-title == `\*[doc-document-title]'
  1286. . tm doc-volume == `\*[doc-volume]'
  1287. . tm doc-section == `\*[doc-section]'
  1288. . tm doc-operating-system == `\*[doc-operating-system]'
  1289. . tm doc-date-string == `\*[doc-date-string]'
  1290. . tm doc-header-space == \n[doc-header-space]
  1291. . tm doc-footer-space == \n[doc-footer-space]
  1292. . tm doc-display-vertical == \n[doc-display-vertical]
  1293. . tm doc-header-string == `\*[doc-header-string]'
  1294. . tm doc-in-synopsis-section == \n[doc-in-synopsis-section]
  1295. . tm doc-in-library-section == \n[doc-in-library-section]
  1296. . tm doc-in-see-also-section == \n[doc-in-see-also-section]
  1297. . tm doc-in-files-section == \n[doc-in-files-section]
  1298. . tm doc-in-authors-section == \n[doc-in-authors-section]
  1299. .
  1300. . tm END OF GLOBAL REGISTER DUMP
  1301. ..
  1302. .
  1303. .
  1304. .ec
  1305. .
  1306. .\" EOF