xref: /freebsd/share/examples/mdoc/example.3 (revision 0d2332f2d1726d484b4aaf8b6e9ffb1b22d4a651)
1374334e4SBruce Evans.\" Copyright (c) [year] [your name]
2374334e4SBruce Evans.\" All rights reserved.
39a78dbdeSMike Pritchard.\"
49a78dbdeSMike Pritchard.\" Redistribution and use in source and binary forms, with or without
59a78dbdeSMike Pritchard.\" modification, are permitted provided that the following conditions
69a78dbdeSMike Pritchard.\" are met:
79a78dbdeSMike Pritchard.\" 1. Redistributions of source code must retain the above copyright
89a78dbdeSMike Pritchard.\"    notice, this list of conditions and the following disclaimer.
99a78dbdeSMike Pritchard.\" 2. Redistributions in binary form must reproduce the above copyright
109a78dbdeSMike Pritchard.\"    notice, this list of conditions and the following disclaimer in the
119a78dbdeSMike Pritchard.\"    documentation and/or other materials provided with the distribution.
129a78dbdeSMike Pritchard.\"
13374334e4SBruce Evans.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
149a78dbdeSMike Pritchard.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
159a78dbdeSMike Pritchard.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
169a78dbdeSMike Pritchard.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
179a78dbdeSMike Pritchard.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
189a78dbdeSMike Pritchard.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
199a78dbdeSMike Pritchard.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
209a78dbdeSMike Pritchard.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
219a78dbdeSMike Pritchard.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
229a78dbdeSMike Pritchard.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
239a78dbdeSMike Pritchard.\" SUCH DAMAGE.
249a78dbdeSMike Pritchard.\"
257dc5a4daSMike Pritchard.\" $FreeBSD$
267dc5a4daSMike Pritchard.\" Note: All FreeBSD man pages should have a FreeBSD revision
277dc5a4daSMike Pritchard.\" control id to make it easier for translation teams to track
287dc5a4daSMike Pritchard.\" changes.
299a78dbdeSMike Pritchard.\"
3081fba91bSMike Pritchard.\" Note: The date here should be updated whenever a non-trivial
3181fba91bSMike Pritchard.\" change is made to the manual page.
32ed0bfbe5SMike Pritchard.Dd December 8, 1999
339a78dbdeSMike Pritchard.Dt EXAMPLE 3
349a78dbdeSMike Pritchard.\" Note: Only specify the operating system when the command
359a78dbdeSMike Pritchard.\" is FreeBSD specific, otherwise use the .Os macro with no
369a78dbdeSMike Pritchard.\" arguments.
379cb8091fSMike Pritchard.Os FreeBSD 2.2
389a78dbdeSMike Pritchard.Sh NAME
399a78dbdeSMike Pritchard.Nm example
409a78dbdeSMike Pritchard.Nd example library function manual page
410d2332f2SAlexey Zelkin.Sh LIBRARY
420d2332f2SAlexey Zelkin.\" Note: list of available libraries is available in mdoc.samples(7)
430d2332f2SAlexey Zelkin.Lb libc
449a78dbdeSMike Pritchard.Sh SYNOPSIS
459a78dbdeSMike Pritchard.Fd #include <example.h>
469a78dbdeSMike Pritchard.Ft int
479a78dbdeSMike Pritchard.Fn example "char *ptr" "int mode"
489a78dbdeSMike Pritchard.Sh DESCRIPTION
499a78dbdeSMike PritchardThis is an example library function manual page for
509a78dbdeSMike Pritchardthe
519a78dbdeSMike Pritchard.Fn example
529a78dbdeSMike Pritchardfunction.  It is intended
539a78dbdeSMike Pritchardthat this example can be used as a template when writing
549a78dbdeSMike Pritcharda new manual page.
559a78dbdeSMike Pritchard.Pp
569a78dbdeSMike PritchardThe
579a78dbdeSMike Pritchard.Fn example
589a78dbdeSMike Pritchardfunction takes two arguments:
599a78dbdeSMike Pritchard.Fa ptr
609a78dbdeSMike Pritchardand
619a78dbdeSMike Pritchard.Fa mode .
629a78dbdeSMike PritchardThe argument
639a78dbdeSMike Pritchard.Fa mode
649a78dbdeSMike Pritchardmay have one of the following values:
659a78dbdeSMike Pritchard.Bl -tag -width EXAMPLE_ONE
669a78dbdeSMike Pritchard.It Dv EXAMPLE_ONE
679a78dbdeSMike PritchardFirst example of a defined variable.
689a78dbdeSMike Pritchard.Dv EXAMPLE_ONE is described below.
699a78dbdeSMike Pritchard.It Dv EXAMPLE_TWO
709a78dbdeSMike PritchardSecond example.
719a78dbdeSMike Pritchard.El
729a78dbdeSMike Pritchard.Pp
739a78dbdeSMike PritchardThe above value are defined in
74c13b19beSMike Pritchard.Aq Pa example.h
759a78dbdeSMike Pritchardas follows:
769a78dbdeSMike Pritchard.Bd -literal
779a78dbdeSMike Pritchard#define EXAMPLE_ONE  1
789a78dbdeSMike Pritchard#define EXAMPLE_TWO  2
799a78dbdeSMike Pritchard.Ed
80ed0bfbe5SMike Pritchard.Sh IMPLEMENTATION NOTES
81ed0bfbe5SMike PritchardThe
82ed0bfbe5SMike Pritchard.Fn example
83ed0bfbe5SMike Pritchardfunction is not actually implemented.
849a78dbdeSMike Pritchard.Sh RETURN VALUES
85a238c207SMike Pritchard.Rv -std example
869a78dbdeSMike Pritchard.Sh ENVIRONMENT
879a78dbdeSMike PritchardThe
889a78dbdeSMike Pritchard.Fn example
899a78dbdeSMike Pritchardlibrary function ignores the
909a78dbdeSMike Pritchard.Ev EXAMPLE
919a78dbdeSMike Pritchardenvironment variable.
929a78dbdeSMike Pritchard.Sh FILES
939a78dbdeSMike Pritchard.Bl -tag -width /dev/null -compact
949a78dbdeSMike Pritchard.It Pa /dev/null
959a78dbdeSMike PritchardExample of a file in the
969a78dbdeSMike Pritchard.Sx FILES
979a78dbdeSMike Pritchardsection.
989a78dbdeSMike Pritchard.El
999a78dbdeSMike Pritchard.Sh DIAGNOSTICS
1009a78dbdeSMike PritchardNone.
101ed0bfbe5SMike Pritchard.Sh COMPATIBILITY
102ed0bfbe5SMike PritchardThe
103ed0bfbe5SMike Pritchard.Fn example
104ed0bfbe5SMike Pritchardfunction has no known compatibility issues.
1059a78dbdeSMike Pritchard.Sh ERRORS
10681fba91bSMike Pritchard.\" Delete any errno's that are not returned by your
10781fba91bSMike Pritchard.\" function or system call and then tailor the
10881fba91bSMike Pritchard.\" remaining text as needed.
1099a78dbdeSMike Pritchard.Fn Example
1109a78dbdeSMike Pritchardwill fail if:
1119a78dbdeSMike Pritchard.Bl -tag -width Er
1129a78dbdeSMike Pritchard.It Bq Er EPERM
11381fba91bSMike PritchardOperation not permitted.
11481fba91bSMike Pritchard.It Bq Er ENOENT
11581fba91bSMike PritchardNo such file or directory.
11681fba91bSMike Pritchard.It Bq Er ESRCH
11781fba91bSMike PritchardNo such process.
11881fba91bSMike Pritchard.It Bq Er EINTR
11981fba91bSMike PritchardInterrupted system call.
12081fba91bSMike Pritchard.It Bq Er EIO
12181fba91bSMike PritchardInput/output error.
12281fba91bSMike Pritchard.It Bq Er ENXIO
12381fba91bSMike PritchardDevice not configured.
12481fba91bSMike Pritchard.It Bq Er E2BIG
12581fba91bSMike PritchardArgument list too long.
12681fba91bSMike Pritchard.It Bq Er ENOEXEC
12781fba91bSMike PritchardExec format error.
12881fba91bSMike Pritchard.It Bq Er EBADF
12981fba91bSMike PritchardBad file descriptor.
13081fba91bSMike Pritchard.It Bq Er ECHILD
13181fba91bSMike PritchardNo child processes.
13281fba91bSMike Pritchard.It Bq Er EDEADLK
13381fba91bSMike PritchardResource deadlock avoided.
13481fba91bSMike Pritchard.It Bq Er ENOMEM
13581fba91bSMike PritchardCannot allocate memory.
13681fba91bSMike Pritchard.It Bq Er EACCES
13781fba91bSMike PritchardPermission denied.
13881fba91bSMike Pritchard.It Bq Er EFAULT
13981fba91bSMike PritchardBad address.
14081fba91bSMike Pritchard.It Bq Er ENOTBLK
14181fba91bSMike PritchardBlock device required.
14281fba91bSMike Pritchard.It Bq Er EBUSY
14381fba91bSMike PritchardDevice busy.
14481fba91bSMike Pritchard.It Bq Er EEXIST
14581fba91bSMike PritchardFile exists.
14681fba91bSMike Pritchard.It Bq Er EXDEV
14781fba91bSMike PritchardCross-device link.
14881fba91bSMike Pritchard.It Bq Er ENODEV
14981fba91bSMike PritchardOperation not supported by device.
15081fba91bSMike Pritchard.It Bq Er ENOTDIR
15181fba91bSMike PritchardNot a directory.
15281fba91bSMike Pritchard.It Bq Er EISDIR
15381fba91bSMike PritchardIs a directory.
15481fba91bSMike Pritchard.It Bq Er EINVAL
15581fba91bSMike PritchardInvalid argument.
15681fba91bSMike Pritchard.It Bq Er ENFILE
15781fba91bSMike PritchardToo many open files in system.
15881fba91bSMike Pritchard.It Bq Er EMFILE
15981fba91bSMike PritchardToo many open files.
16081fba91bSMike Pritchard.It Bq Er ENOTTY
16181fba91bSMike PritchardInappropriate ioctl for device.
16281fba91bSMike Pritchard.It Bq Er ETXTBSY
16381fba91bSMike PritchardText file busy.
16481fba91bSMike Pritchard.It Bq Er EFBIG
16581fba91bSMike PritchardFile too large.
16681fba91bSMike Pritchard.It Bq Er ENOSPC
16781fba91bSMike PritchardNo space left on device.
16881fba91bSMike Pritchard.It Bq Er ESPIPE
16981fba91bSMike PritchardIllegal seek.
17081fba91bSMike Pritchard.It Bq Er EROFS
17181fba91bSMike PritchardRead-only file system.
17281fba91bSMike Pritchard.It Bq Er EMLINK
17381fba91bSMike PritchardToo many links.
17481fba91bSMike Pritchard.It Bq Er EPIPE
17581fba91bSMike PritchardBroken pipe.
17681fba91bSMike Pritchard.It Bq Er EDOM
17781fba91bSMike PritchardNumerical argument out of domain.
17881fba91bSMike Pritchard.It Bq Er ERANGE
17981fba91bSMike PritchardResult too large.
18081fba91bSMike Pritchard.It Bq Er EAGAIN
18181fba91bSMike PritchardResource temporarily unavailable.
18281fba91bSMike Pritchard.It Bq Er EWOULDBLOCK
18381fba91bSMike PritchardOperation would block.
18481fba91bSMike Pritchard.It Bq Er EINPROGRESS
18581fba91bSMike PritchardOperation now in progress.
18681fba91bSMike Pritchard.It Bq Er EALREADY
18781fba91bSMike PritchardOperation already in progress.
18881fba91bSMike Pritchard.It Bq Er ENOTSOCK
18981fba91bSMike PritchardSocket operation on non-socket.
19081fba91bSMike Pritchard.It Bq Er EDESTADDRREQ
19181fba91bSMike PritchardDestination address required.
19281fba91bSMike Pritchard.It Bq Er EMSGSIZE
19381fba91bSMike PritchardMessage too long.
19481fba91bSMike Pritchard.It Bq Er EPROTOTYPE
19581fba91bSMike PritchardProtocol wrong type for socket.
19681fba91bSMike Pritchard.It Bq Er ENOPROTOOPT
19781fba91bSMike PritchardProtocol not available.
19881fba91bSMike Pritchard.It Bq Er EPROTONOSUPPORT
19981fba91bSMike PritchardProtocol not supported.
20081fba91bSMike Pritchard.It Bq Er ESOCKNOTSUPORT
20181fba91bSMike PritchardSocket type not supported.
20281fba91bSMike Pritchard.It Bq Er EOPNOTSUPP
20381fba91bSMike PritchardOperation not supported.
20481fba91bSMike Pritchard.It Bq Er EPFNOSUPPORT
20581fba91bSMike PritchardProtocol family not supported.
20681fba91bSMike Pritchard.It Bq Er EAFNNOSUPPORT
20781fba91bSMike PritchardAddress family not supported by protocol family.
20881fba91bSMike Pritchard.It Bq Er EADDRINUSE
20981fba91bSMike PritchardAddress already in use.
21081fba91bSMike Pritchard.It Bq Er EADDRNOTAVAIL
21181fba91bSMike PritchardCannot assign requested address.
21281fba91bSMike Pritchard.It Bq Er ENETDOWN
21381fba91bSMike PritchardNetwork is down.
21481fba91bSMike Pritchard.It Bq Er ENETUNREACH
21581fba91bSMike PritchardNetwork is unreachable.
21681fba91bSMike Pritchard.It Bq Er ENETRESET
21781fba91bSMike PritchardNetwork dropped connection on reset.
21881fba91bSMike Pritchard.It Bq Er ECONNABORTED
21981fba91bSMike PritchardSoftware causes connection abort.
22081fba91bSMike Pritchard.It Bq Er ENOBUFS
22181fba91bSMike PritchardNo buffer space available.
22281fba91bSMike Pritchard.It Bq Er EISCONN
22381fba91bSMike PritchardSocket is already connected.
22481fba91bSMike Pritchard.It Bq Er ENOTCONN
22581fba91bSMike PritchardSocket is not connected.
22681fba91bSMike Pritchard.It Bq Er ESHUTDOWN
22781fba91bSMike PritchardCannot send after socket shutdown.
22881fba91bSMike Pritchard.It Bq Er ETOOMANYREFS
22981fba91bSMike PritchardToo many references:  cannot splice.
23081fba91bSMike Pritchard.It Bq Er ETIMEDOUT
23181fba91bSMike PritchardOperation timed out.
23281fba91bSMike Pritchard.It Bq Er ECONNREFUSED
23381fba91bSMike PritchardConnection refused.
23481fba91bSMike Pritchard.It Bq Er ELOOP
23581fba91bSMike PritchardToo many levels of symbolic links.
23681fba91bSMike Pritchard.It Bq Er ENAMETOOLONG
23781fba91bSMike PritchardFile name too long.
23881fba91bSMike Pritchard.It Bq Er EHOSTDOWN
23981fba91bSMike PritchardHost is down.
24081fba91bSMike Pritchard.It Bq Er EHOSTUNREACH
24181fba91bSMike PritchardNo route to host.
24281fba91bSMike Pritchard.It Bq Er ENOTEMPTY
24381fba91bSMike PritchardDirectory not empty.
24481fba91bSMike Pritchard.It Bq Er EPROCLIM
24581fba91bSMike PritchardToo many processes.
24681fba91bSMike Pritchard.It Bq Er EUSERS
24781fba91bSMike PritchardToo many users.
24881fba91bSMike Pritchard.It Bq Er EDQUOT
24981fba91bSMike PritchardDisc quota exceeded.
25081fba91bSMike Pritchard.It Bq Er ESTALE
25181fba91bSMike PritchardStale NFS file handle.
25281fba91bSMike Pritchard.It Bq Er EREMOTE
25381fba91bSMike PritchardToo many levels of remote in path.
25481fba91bSMike Pritchard.It Bq Er EBADRPC
25581fba91bSMike PritchardRPC struct is bad.
25681fba91bSMike Pritchard.It Bq Er ERPCMISMATCH
25781fba91bSMike PritchardRPC version wrong.
25881fba91bSMike Pritchard.It Bq Er EPROGUNAVAIL
25981fba91bSMike PritchardRPC program not available.
26081fba91bSMike Pritchard.It Bq Er EPROGMISMATCH
26181fba91bSMike PritchardProgram version wrong.
26281fba91bSMike Pritchard.It Bq Er EPROCUNAVAIL
26381fba91bSMike PritchardBad procedure for program.
26481fba91bSMike Pritchard.It Bq Er ENOLCK
26581fba91bSMike PritchardNo locks available.
26681fba91bSMike Pritchard.It Bq Er ENOSYS
26781fba91bSMike PritchardFunction not implemented.
26881fba91bSMike Pritchard.It Bq Er EFTYPE
26981fba91bSMike PritchardInappropriate file type or format.
27081fba91bSMike Pritchard.It Bq Er EAUTH
27181fba91bSMike PritchardAuthentication error.
27281fba91bSMike Pritchard.It Bq Er ENEEDAUTH
27381fba91bSMike PritchardNeed authenticator.
2749a78dbdeSMike Pritchard.El
275ed0bfbe5SMike Pritchard.Sh SEE ALSO
276ed0bfbe5SMike Pritchard.Xr example 1 ,
277ed0bfbe5SMike Pritchard.Xr example 4 ,
278ed0bfbe5SMike Pritchard.Xr mdoc 7 ,
279ed0bfbe5SMike Pritchard.Xr mdoc.samples 7
280ed0bfbe5SMike Pritchard.Rs
281ed0bfbe5SMike Pritchard.%A A. B. Author
282ed0bfbe5SMike Pritchard.%T Example RFC Title
283ed0bfbe5SMike Pritchard.%O RFC0000
284ed0bfbe5SMike Pritchard.Re
285ed0bfbe5SMike Pritchard.Rs
286ed0bfbe5SMike Pritchard.%A A. B. Author
287ed0bfbe5SMike Pritchard.%B Example Book Title
288ed0bfbe5SMike Pritchard.%O ISBN-0-000-00000-0
289ed0bfbe5SMike Pritchard.Re
290ed0bfbe5SMike Pritchard.Rs
291ed0bfbe5SMike Pritchard.%A A. B. Author
292ed0bfbe5SMike Pritchard.%D January 1997
293ed0bfbe5SMike Pritchard.%J Example Journal Name
294ed0bfbe5SMike Pritchard.%T Example Article Title
295ed0bfbe5SMike Pritchard.Re
296ed0bfbe5SMike Pritchard.Sh STANDARDS
297ed0bfbe5SMike PritchardIf the command conforms to some standard, such as
298ed0bfbe5SMike Pritchard.St -p1003.2
299ed0bfbe5SMike Pritchardor
300ed0bfbe5SMike Pritchard.St -ansiC ,
301ed0bfbe5SMike Pritchardit should be noted here.
3029a78dbdeSMike Pritchard.Sh HISTORY
3039a78dbdeSMike PritchardThe
3049a78dbdeSMike Pritchard.Nm
3059a78dbdeSMike Pritchardmanual page example first appeared in
3069cb8091fSMike Pritchard.Fx 2.2 .
30781fba91bSMike Pritchard.Pp
30881fba91bSMike PritchardSome other common
30981fba91bSMike Pritchard.Sx HISTORY
31081fba91bSMike Pritchardsection examples are:
31181fba91bSMike Pritchard.Pp
31281fba91bSMike PritchardThe
31381fba91bSMike Pritchard.Nm
31481fba91bSMike Pritchardmanual page example first appeared in
31581fba91bSMike Pritchard.Bx 4.4 .
31681fba91bSMike Pritchard.Pp
31781fba91bSMike PritchardThe
31881fba91bSMike Pritchard.Nm
31981fba91bSMike Pritchardmanual page example first appeared in
32081fba91bSMike Pritchard.At v6 .
321facbd487SPhilippe Charnier.Sh AUTHORS
3229a78dbdeSMike PritchardThis
323d00f4c32SMike Pritchardmanual page was written by
324facbd487SPhilippe Charnier.An Mike Pritchard Aq mpp@FreeBSD.org .
3259a78dbdeSMike Pritchard.Sh BUGS
3269a78dbdeSMike PritchardThe actual code for this function is vaporware.
327