xref: /freebsd/share/examples/mdoc/example.3 (revision 4d846d260e2b9a3d4d0a701462568268cbfe7a5b)
1fff9b474SMateusz Piotrowski.\"
2*4d846d26SWarner Losh.\" SPDX-License-Identifier: BSD-2-Clause
3fff9b474SMateusz Piotrowski.\"
4374334e4SBruce Evans.\" Copyright (c) [year] [your name]
59a78dbdeSMike Pritchard.\"
69a78dbdeSMike Pritchard.\" Redistribution and use in source and binary forms, with or without
79a78dbdeSMike Pritchard.\" modification, are permitted provided that the following conditions
89a78dbdeSMike Pritchard.\" are met:
99a78dbdeSMike Pritchard.\" 1. Redistributions of source code must retain the above copyright
109a78dbdeSMike Pritchard.\"    notice, this list of conditions and the following disclaimer.
119a78dbdeSMike Pritchard.\" 2. Redistributions in binary form must reproduce the above copyright
129a78dbdeSMike Pritchard.\"    notice, this list of conditions and the following disclaimer in the
139a78dbdeSMike Pritchard.\"    documentation and/or other materials provided with the distribution.
149a78dbdeSMike Pritchard.\"
15374334e4SBruce Evans.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
169a78dbdeSMike Pritchard.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
179a78dbdeSMike Pritchard.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
189a78dbdeSMike Pritchard.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
199a78dbdeSMike Pritchard.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
209a78dbdeSMike Pritchard.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
219a78dbdeSMike Pritchard.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
229a78dbdeSMike Pritchard.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
239a78dbdeSMike Pritchard.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
249a78dbdeSMike Pritchard.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
259a78dbdeSMike Pritchard.\" SUCH DAMAGE.
269a78dbdeSMike Pritchard.\"
2781fba91bSMike Pritchard.\" Note: The date here should be updated whenever a non-trivial
2881fba91bSMike Pritchard.\" change is made to the manual page.
2924c875f9SRuslan Ermilov.Dd July 30, 2004
309a78dbdeSMike Pritchard.Dt EXAMPLE 3
319fdcafcfSRuslan Ermilov.Os
329a78dbdeSMike Pritchard.Sh NAME
339a78dbdeSMike Pritchard.Nm example
34d72ca9ddSRuslan Ermilov.Nd "example library function manual page"
350d2332f2SAlexey Zelkin.Sh LIBRARY
361837dd5dSRuslan Ermilov.\" Note: list of available libraries is available in mdoc(7)
370d2332f2SAlexey Zelkin.Lb libc
389a78dbdeSMike Pritchard.Sh SYNOPSIS
39d72ca9ddSRuslan Ermilov.In example.h
409a78dbdeSMike Pritchard.Ft int
419a78dbdeSMike Pritchard.Fn example "char *ptr" "int mode"
429a78dbdeSMike Pritchard.Sh DESCRIPTION
4303e563d7SSheldon HearnThis is an example library function manual page for the
449a78dbdeSMike Pritchard.Fn example
4503e563d7SSheldon Hearnfunction.
4603e563d7SSheldon HearnIt is intended that this example can be used as a template
4703e563d7SSheldon Hearnwhen writing a new manual page.
489a78dbdeSMike Pritchard.Pp
499a78dbdeSMike PritchardThe
509a78dbdeSMike Pritchard.Fn example
519a78dbdeSMike Pritchardfunction takes two arguments:
529a78dbdeSMike Pritchard.Fa ptr
539a78dbdeSMike Pritchardand
549a78dbdeSMike Pritchard.Fa mode .
559a78dbdeSMike PritchardThe argument
569a78dbdeSMike Pritchard.Fa mode
579a78dbdeSMike Pritchardmay have one of the following values:
581fb04df9SMateusz Piotrowski.Bl -tag -width "EXAMPLE_ONE"
599a78dbdeSMike Pritchard.It Dv EXAMPLE_ONE
609a78dbdeSMike PritchardFirst example of a defined variable.
61d0353b83SRuslan Ermilov.Dv EXAMPLE_ONE
62d0353b83SRuslan Ermilovis described below.
639a78dbdeSMike Pritchard.It Dv EXAMPLE_TWO
649a78dbdeSMike PritchardSecond example.
659a78dbdeSMike Pritchard.El
669a78dbdeSMike Pritchard.Pp
67d72ca9ddSRuslan ErmilovThe above values are defined in
68fe08efe6SRuslan Ermilov.In example.h
699a78dbdeSMike Pritchardas follows:
709a78dbdeSMike Pritchard.Bd -literal
719a78dbdeSMike Pritchard#define EXAMPLE_ONE  1
729a78dbdeSMike Pritchard#define EXAMPLE_TWO  2
739a78dbdeSMike Pritchard.Ed
74ed0bfbe5SMike Pritchard.Sh IMPLEMENTATION NOTES
75ed0bfbe5SMike PritchardThe
76ed0bfbe5SMike Pritchard.Fn example
77ed0bfbe5SMike Pritchardfunction is not actually implemented.
789a78dbdeSMike Pritchard.Sh RETURN VALUES
79a238c207SMike Pritchard.Rv -std example
809a78dbdeSMike Pritchard.Sh ENVIRONMENT
819a78dbdeSMike PritchardThe
829a78dbdeSMike Pritchard.Fn example
839a78dbdeSMike Pritchardlibrary function ignores the
849a78dbdeSMike Pritchard.Ev EXAMPLE
859a78dbdeSMike Pritchardenvironment variable.
869a78dbdeSMike Pritchard.Sh FILES
871fb04df9SMateusz Piotrowski.Bl -tag -width "/dev/null" -compact
889a78dbdeSMike Pritchard.It Pa /dev/null
899a78dbdeSMike PritchardExample of a file in the
909a78dbdeSMike Pritchard.Sx FILES
919a78dbdeSMike Pritchardsection.
929a78dbdeSMike Pritchard.El
939a78dbdeSMike Pritchard.Sh DIAGNOSTICS
949a78dbdeSMike PritchardNone.
95ed0bfbe5SMike Pritchard.Sh COMPATIBILITY
96ed0bfbe5SMike PritchardThe
97ed0bfbe5SMike Pritchard.Fn example
98ed0bfbe5SMike Pritchardfunction has no known compatibility issues.
999a78dbdeSMike Pritchard.Sh ERRORS
10081fba91bSMike Pritchard.\" Delete any errno's that are not returned by your
10181fba91bSMike Pritchard.\" function or system call and then tailor the
10281fba91bSMike Pritchard.\" remaining text as needed.
103c0cfe3daSRuslan ErmilovThe
104c0cfe3daSRuslan Ermilov.Fn example
105c0cfe3daSRuslan Ermilovfunction will fail if:
1069a78dbdeSMike Pritchard.Bl -tag -width Er
1079a78dbdeSMike Pritchard.It Bq Er EPERM
10881fba91bSMike PritchardOperation not permitted.
10981fba91bSMike Pritchard.It Bq Er ENOENT
11081fba91bSMike PritchardNo such file or directory.
11181fba91bSMike Pritchard.It Bq Er ESRCH
11281fba91bSMike PritchardNo such process.
11381fba91bSMike Pritchard.It Bq Er EINTR
11481fba91bSMike PritchardInterrupted system call.
11581fba91bSMike Pritchard.It Bq Er EIO
11681fba91bSMike PritchardInput/output error.
11781fba91bSMike Pritchard.It Bq Er ENXIO
11881fba91bSMike PritchardDevice not configured.
11981fba91bSMike Pritchard.It Bq Er E2BIG
12081fba91bSMike PritchardArgument list too long.
12181fba91bSMike Pritchard.It Bq Er ENOEXEC
12281fba91bSMike PritchardExec format error.
12381fba91bSMike Pritchard.It Bq Er EBADF
12481fba91bSMike PritchardBad file descriptor.
12581fba91bSMike Pritchard.It Bq Er ECHILD
12681fba91bSMike PritchardNo child processes.
12781fba91bSMike Pritchard.It Bq Er EDEADLK
12881fba91bSMike PritchardResource deadlock avoided.
12981fba91bSMike Pritchard.It Bq Er ENOMEM
13081fba91bSMike PritchardCannot allocate memory.
13181fba91bSMike Pritchard.It Bq Er EACCES
13281fba91bSMike PritchardPermission denied.
13381fba91bSMike Pritchard.It Bq Er EFAULT
13481fba91bSMike PritchardBad address.
13581fba91bSMike Pritchard.It Bq Er ENOTBLK
13681fba91bSMike PritchardBlock device required.
13781fba91bSMike Pritchard.It Bq Er EBUSY
13881fba91bSMike PritchardDevice busy.
13981fba91bSMike Pritchard.It Bq Er EEXIST
14081fba91bSMike PritchardFile exists.
14181fba91bSMike Pritchard.It Bq Er EXDEV
14281fba91bSMike PritchardCross-device link.
14381fba91bSMike Pritchard.It Bq Er ENODEV
14481fba91bSMike PritchardOperation not supported by device.
14581fba91bSMike Pritchard.It Bq Er ENOTDIR
14681fba91bSMike PritchardNot a directory.
14781fba91bSMike Pritchard.It Bq Er EISDIR
14881fba91bSMike PritchardIs a directory.
14981fba91bSMike Pritchard.It Bq Er EINVAL
15081fba91bSMike PritchardInvalid argument.
15181fba91bSMike Pritchard.It Bq Er ENFILE
15281fba91bSMike PritchardToo many open files in system.
15381fba91bSMike Pritchard.It Bq Er EMFILE
15481fba91bSMike PritchardToo many open files.
15581fba91bSMike Pritchard.It Bq Er ENOTTY
15681fba91bSMike PritchardInappropriate ioctl for device.
15781fba91bSMike Pritchard.It Bq Er ETXTBSY
15881fba91bSMike PritchardText file busy.
15981fba91bSMike Pritchard.It Bq Er EFBIG
16081fba91bSMike PritchardFile too large.
16181fba91bSMike Pritchard.It Bq Er ENOSPC
16281fba91bSMike PritchardNo space left on device.
16381fba91bSMike Pritchard.It Bq Er ESPIPE
16481fba91bSMike PritchardIllegal seek.
16581fba91bSMike Pritchard.It Bq Er EROFS
16681fba91bSMike PritchardRead-only file system.
16781fba91bSMike Pritchard.It Bq Er EMLINK
16881fba91bSMike PritchardToo many links.
16981fba91bSMike Pritchard.It Bq Er EPIPE
17081fba91bSMike PritchardBroken pipe.
17181fba91bSMike Pritchard.It Bq Er EDOM
17281fba91bSMike PritchardNumerical argument out of domain.
17381fba91bSMike Pritchard.It Bq Er ERANGE
17481fba91bSMike PritchardResult too large.
17581fba91bSMike Pritchard.It Bq Er EAGAIN
17681fba91bSMike PritchardResource temporarily unavailable.
17781fba91bSMike Pritchard.It Bq Er EWOULDBLOCK
17881fba91bSMike PritchardOperation would block.
17981fba91bSMike Pritchard.It Bq Er EINPROGRESS
18081fba91bSMike PritchardOperation now in progress.
18181fba91bSMike Pritchard.It Bq Er EALREADY
18281fba91bSMike PritchardOperation already in progress.
18381fba91bSMike Pritchard.It Bq Er ENOTSOCK
18481fba91bSMike PritchardSocket operation on non-socket.
18581fba91bSMike Pritchard.It Bq Er EDESTADDRREQ
18681fba91bSMike PritchardDestination address required.
18781fba91bSMike Pritchard.It Bq Er EMSGSIZE
18881fba91bSMike PritchardMessage too long.
18981fba91bSMike Pritchard.It Bq Er EPROTOTYPE
19081fba91bSMike PritchardProtocol wrong type for socket.
19181fba91bSMike Pritchard.It Bq Er ENOPROTOOPT
19281fba91bSMike PritchardProtocol not available.
19381fba91bSMike Pritchard.It Bq Er EPROTONOSUPPORT
19481fba91bSMike PritchardProtocol not supported.
195b92a189eSRuslan Ermilov.It Bq Er ESOCKTNOSUPPORT
19681fba91bSMike PritchardSocket type not supported.
19781fba91bSMike Pritchard.It Bq Er EOPNOTSUPP
19881fba91bSMike PritchardOperation not supported.
19981fba91bSMike Pritchard.It Bq Er EPFNOSUPPORT
20081fba91bSMike PritchardProtocol family not supported.
201b92a189eSRuslan Ermilov.It Bq Er EAFNOSUPPORT
20281fba91bSMike PritchardAddress family not supported by protocol family.
20381fba91bSMike Pritchard.It Bq Er EADDRINUSE
20481fba91bSMike PritchardAddress already in use.
20581fba91bSMike Pritchard.It Bq Er EADDRNOTAVAIL
20681fba91bSMike PritchardCannot assign requested address.
20781fba91bSMike Pritchard.It Bq Er ENETDOWN
20881fba91bSMike PritchardNetwork is down.
20981fba91bSMike Pritchard.It Bq Er ENETUNREACH
21081fba91bSMike PritchardNetwork is unreachable.
21181fba91bSMike Pritchard.It Bq Er ENETRESET
21281fba91bSMike PritchardNetwork dropped connection on reset.
21381fba91bSMike Pritchard.It Bq Er ECONNABORTED
21481fba91bSMike PritchardSoftware causes connection abort.
21581fba91bSMike Pritchard.It Bq Er ENOBUFS
21681fba91bSMike PritchardNo buffer space available.
21781fba91bSMike Pritchard.It Bq Er EISCONN
21881fba91bSMike PritchardSocket is already connected.
21981fba91bSMike Pritchard.It Bq Er ENOTCONN
22081fba91bSMike PritchardSocket is not connected.
22181fba91bSMike Pritchard.It Bq Er ESHUTDOWN
22281fba91bSMike PritchardCannot send after socket shutdown.
22381fba91bSMike Pritchard.It Bq Er ETOOMANYREFS
22481fba91bSMike PritchardToo many references: cannot splice.
22581fba91bSMike Pritchard.It Bq Er ETIMEDOUT
22681fba91bSMike PritchardOperation timed out.
22781fba91bSMike Pritchard.It Bq Er ECONNREFUSED
22881fba91bSMike PritchardConnection refused.
22981fba91bSMike Pritchard.It Bq Er ELOOP
23081fba91bSMike PritchardToo many levels of symbolic links.
23181fba91bSMike Pritchard.It Bq Er ENAMETOOLONG
23281fba91bSMike PritchardFile name too long.
23381fba91bSMike Pritchard.It Bq Er EHOSTDOWN
23481fba91bSMike PritchardHost is down.
23581fba91bSMike Pritchard.It Bq Er EHOSTUNREACH
23681fba91bSMike PritchardNo route to host.
23781fba91bSMike Pritchard.It Bq Er ENOTEMPTY
23881fba91bSMike PritchardDirectory not empty.
23981fba91bSMike Pritchard.It Bq Er EPROCLIM
24081fba91bSMike PritchardToo many processes.
24181fba91bSMike Pritchard.It Bq Er EUSERS
24281fba91bSMike PritchardToo many users.
24381fba91bSMike Pritchard.It Bq Er EDQUOT
24481fba91bSMike PritchardDisc quota exceeded.
24581fba91bSMike Pritchard.It Bq Er ESTALE
24681fba91bSMike PritchardStale NFS file handle.
24781fba91bSMike Pritchard.It Bq Er EREMOTE
24881fba91bSMike PritchardToo many levels of remote in path.
24981fba91bSMike Pritchard.It Bq Er EBADRPC
25081fba91bSMike PritchardRPC struct is bad.
25181fba91bSMike Pritchard.It Bq Er ERPCMISMATCH
25281fba91bSMike PritchardRPC version wrong.
25381fba91bSMike Pritchard.It Bq Er EPROGUNAVAIL
25481fba91bSMike PritchardRPC program not available.
25581fba91bSMike Pritchard.It Bq Er EPROGMISMATCH
25681fba91bSMike PritchardProgram version wrong.
25781fba91bSMike Pritchard.It Bq Er EPROCUNAVAIL
25881fba91bSMike PritchardBad procedure for program.
25981fba91bSMike Pritchard.It Bq Er ENOLCK
26081fba91bSMike PritchardNo locks available.
26181fba91bSMike Pritchard.It Bq Er ENOSYS
26281fba91bSMike PritchardFunction not implemented.
26381fba91bSMike Pritchard.It Bq Er EFTYPE
26481fba91bSMike PritchardInappropriate file type or format.
26581fba91bSMike Pritchard.It Bq Er EAUTH
26681fba91bSMike PritchardAuthentication error.
26781fba91bSMike Pritchard.It Bq Er ENEEDAUTH
26881fba91bSMike PritchardNeed authenticator.
2698caf8b17SMike Pritchard.It Bq Er EIDRM
270c0cfe3daSRuslan ErmilovIdentifier removed.
27104910956SMike Pritchard.It Bq Er ENOMSG
272c0cfe3daSRuslan ErmilovNo message of desired type.
27304910956SMike Pritchard.It Bq Er EOVERFLOW
274c0cfe3daSRuslan ErmilovValue too large to be stored in data type.
27504910956SMike Pritchard.It Bq Er ECANCELED
276c0cfe3daSRuslan ErmilovOperation canceled.
27704910956SMike Pritchard.It Bq Er EILSEQ
278c0cfe3daSRuslan ErmilovIllegal byte sequence.
27904910956SMike Pritchard.It Bq Er ENOATTR
280c0cfe3daSRuslan ErmilovAttribute not found.
28104910956SMike Pritchard.It Bq Er EDOOFUS
282c0cfe3daSRuslan ErmilovProgramming error.
2839a78dbdeSMike Pritchard.El
284ed0bfbe5SMike Pritchard.Sh SEE ALSO
285ed0bfbe5SMike Pritchard.Xr example 1 ,
286ed0bfbe5SMike Pritchard.Xr example 4 ,
2874227c68dSGiorgos Keramidas.Xr mdoc 7 ,
2884227c68dSGiorgos Keramidas.Xr example 9
289ed0bfbe5SMike Pritchard.Rs
290d72ca9ddSRuslan Ermilov.%A "A. B. Author"
291d72ca9ddSRuslan Ermilov.%T "Example RFC Title"
292ed0bfbe5SMike Pritchard.%O RFC0000
293ed0bfbe5SMike Pritchard.Re
294ed0bfbe5SMike Pritchard.Rs
295d72ca9ddSRuslan Ermilov.%A "A. B. Author"
296d72ca9ddSRuslan Ermilov.%B "Example Book Title"
297ed0bfbe5SMike Pritchard.%O ISBN-0-000-00000-0
298ed0bfbe5SMike Pritchard.Re
299ed0bfbe5SMike Pritchard.Rs
300d72ca9ddSRuslan Ermilov.%A "A. B. Author"
301d72ca9ddSRuslan Ermilov.%D "January 1997"
302d72ca9ddSRuslan Ermilov.%J "Example Journal Name"
303d72ca9ddSRuslan Ermilov.%T "Example Article Title"
304ed0bfbe5SMike Pritchard.Re
305ed0bfbe5SMike Pritchard.Sh STANDARDS
306c0cfe3daSRuslan ErmilovIf the function conforms to some standard, such as
30724c875f9SRuslan Ermilov.St -p1003.1-2004
308ed0bfbe5SMike Pritchardor
309c0cfe3daSRuslan Ermilov.St -isoC-99 ,
310ed0bfbe5SMike Pritchardit should be noted here.
3119a78dbdeSMike Pritchard.Sh HISTORY
3129a78dbdeSMike PritchardThe
3139a78dbdeSMike Pritchard.Nm
3149a78dbdeSMike Pritchardmanual page example first appeared in
3159cb8091fSMike Pritchard.Fx 2.2 .
31681fba91bSMike Pritchard.Pp
31781fba91bSMike PritchardSome other common
31881fba91bSMike Pritchard.Sx HISTORY
31981fba91bSMike Pritchardsection examples are:
32081fba91bSMike Pritchard.Pp
32181fba91bSMike PritchardThe
32281fba91bSMike Pritchard.Nm
32381fba91bSMike Pritchardmanual page example first appeared in
32481fba91bSMike Pritchard.Bx 4.4 .
32581fba91bSMike Pritchard.Pp
32681fba91bSMike PritchardThe
32781fba91bSMike Pritchard.Nm
32881fba91bSMike Pritchardmanual page example first appeared in
32981fba91bSMike Pritchard.At v6 .
330facbd487SPhilippe Charnier.Sh AUTHORS
3319a78dbdeSMike PritchardThis
332d00f4c32SMike Pritchardmanual page was written by
333bd0891ceSBaptiste Daroussin.An Mike Pritchard Aq Mt mpp@FreeBSD.org .
3349a78dbdeSMike Pritchard.Sh BUGS
3359a78dbdeSMike PritchardThe actual code for this function is vaporware.
336