summaryrefslogtreecommitdiff
path: root/autoopts/tpl/aginfo3.tpl
blob: 6c79e22891c49f76f5ac089c9ff02b41706d2af0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
{+ AutoGen5 template  -*- nroff -*-

texi

## ---------------------------------------------------------------------
## aginfo3.tpl -- Template for function texi doc
##
## Time-stamp:      "2011-02-01 06:38:27 bkorb"
## Author:          Bruce Korb <bkorb@gnu.org>
##
##  This file is part of AutoOpts, a companion to AutoGen.
##  AutoOpts is free software.
##  AutoOpts is Copyright (c) 1992-2012 by Bruce Korb - all rights reserved
##
##  AutoOpts is available under any one of two licenses.  The license
##  in use must be one of these two and the choice is under the control
##  of the user of the license.
##
##   The GNU Lesser General Public License, version 3 or later
##      See the files "COPYING.lgplv3" and "COPYING.gplv3"
##
##   The Modified Berkeley Software Distribution License
##      See the file "COPYING.mbsd"
##
##  These files have the following md5sums:
##
##  43b91e8ca915626ed3818ffb1b71248b COPYING.gplv3
##  06a1a2e4760c90ea5e1dad8dfaac4d39 COPYING.lgplv3
##  66a5cedaf62c4b2637025f049f9b826f COPYING.mbsd

+}{+

(out-push-new (sprintf "%s.menu" (base-name)))
(define lib-name (get "library"))
(if (< (string-length lib-name) 1)
    (set! lib-name (base-name)) )
(define node-name (sprintf "lib%s procedures" lib-name))
(define sec-name  (sprintf "lib%s External Procedures" lib-name))

(define doc-level (getenv "LEVEL"))
(if (not (string? doc-level))
    (set! doc-level "section"))
(sprintf "* %-28s %s\n" (string-append node-name "::") sec-name)  +}{+
(out-pop)
+}@node {+ (. node-name) +}
@{+ (. doc-level) +} {+ (. sec-name) +}

{+

IF (not (exist? "lib-description"))

+}These are the publicly exported procedures from the lib@i{{+(. lib-name)+}}
library.  Any other functions mentioned in the @i{header} file are
for the private use of the library.{+

ELSE  +}{+  lib-description +}{+
ENDIF +}

@menu{+

FOR export-func               +}{+
  IF (not (exist? "private")) +}
* lib{+(sprintf "%-24s" (string-append
       lib-name "-" (get "name") "::"))
    +} {+name      +}{+

  ENDIF private    +}{+

ENDFOR export-func +}
@end menu

This {+(. doc-level)+} was automatically generated by AutoGen
using extracted information and the {+(tpl-file)+} template.{+

FOR export-func                +}{+
  IF (not (exist? "private"))

+}

@node lib{+library+}-{+name+}
@{+CASE (. doc-level)+}{+
   = chapter    +}{+
   = section    +}sub{+
   = subsection +}subsub{+
   ESAC +}section {+name+}
@findex {+name+}

{+what+}

@noindent
Usage:
@example
{+ % ret-type "%s res = "
+}{+name+}({+
  IF (exist? "arg") +} {+
    FOR arg ", " +}{+arg-name+}{+
    ENDFOR +} {+
  ENDIF +});
@end example{+
  IF (or (exist? "arg") (exist? "ret-type")) +}
@noindent
Where the arguments are:
@multitable @columnfractions .05 .15 .20 .55
@item @tab Name @tab Type @tab Description
@item @tab ----- @tab ----- @tab -------------{+
    FOR arg "\n" +}
@item @tab {+arg-name+} @tab @code{{+arg-type+}}
@tab {+arg-desc+}{+
    ENDFOR+}{+
    IF (exist? "ret-type") +}
@item @tab returns @tab {+ret-type+}
@tab {+ ret-desc +}{+

    ENDIF +}
@end multitable{+

  ENDIF
+}

{+doc+}
{+ % err "\n%s\n" +}{+

  ENDIF private  +}{+

ENDFOR  export-func


+}