.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" $OpenBSD: swab.3,v 1.8 2013/06/05 03:39:23 tedu Exp $
+.\" $OpenBSD: swab.3,v 1.9 2014/12/12 20:06:13 schwarze Exp $
.\"
-.Dd $Mdocdate: June 5 2013 $
+.Dd $Mdocdate: December 12 2014 $
.Dt SWAB 3
.Os
.Sh NAME
.Sh SYNOPSIS
.In unistd.h
.Ft void
-.Fn swab "const void *src" "void *dst" "size_t len"
+.Fo swab
+.Fa "const void *restrict src"
+.Fa "void *restrict dst"
+.Fa "ssize_t len"
+.Fc
.Sh DESCRIPTION
The function
.Fn swab
.Fa dst ,
swapping adjacent bytes.
.Pp
-The argument
+If
.Fa len
-must be an even number.
+is zero or less,
+.Nm
+does nothing.
+If it is odd, what happens to the last byte is unspecified.
+If
+.Fa src
+and
+.Fa dst
+overlap, behaviour is undefined.
.Sh SEE ALSO
.Xr bzero 3 ,
.Xr memset 3
+.Sh STANDARDS
+The
+.Nm
+function is compliant with the X/Open System Interfaces option of the
+.St -p1003.1-2008
+specification.
.Sh HISTORY
The
.Fn swab