diff --git a/include/string.h b/include/string.h index 3844d41738ec..efc8aecec081 100644 --- a/include/string.h +++ b/include/string.h @@ -108,8 +108,19 @@ char *strtok_r(char *, const char *, char **); #endif size_t strxfrm(char * __restrict, const char * __restrict, size_t); #if __BSD_VISIBLE -void swab(const void *, void *, size_t); -#endif + +#ifndef _SWAB_DECLARED +#define _SWAB_DECLARED + +#ifndef _SSIZE_T_DECLARED +typedef __ssize_t ssize_t; +#define _SSIZE_T_DECLARED +#endif /* _SIZE_T_DECLARED */ + +void swab(const void * __restrict, void * __restrict, ssize_t); +#endif /* _SWAB_DECLARED */ + +#endif /* __BSD_VISIBLE */ __END_DECLS #endif /* _STRING_H_ */ diff --git a/include/unistd.h b/include/unistd.h index 56551f8cd40c..fa7346298c08 100644 --- a/include/unistd.h +++ b/include/unistd.h @@ -436,7 +436,12 @@ ssize_t pwrite(int, const void *, size_t, off_t); int setpgrp(pid_t _pid, pid_t _pgrp); /* obsoleted by setpgid() */ int setregid(gid_t, gid_t); int setreuid(uid_t, uid_t); -/* void swab(const void * __restrict, void * __restrict, ssize_t); */ + +#ifndef _SWAB_DECLARED +#define _SWAB_DECLARED +void swab(const void * __restrict, void * __restrict, ssize_t); +#endif /* _SWAB_DECLARED */ + void sync(void); useconds_t ualarm(useconds_t, useconds_t); int usleep(useconds_t); diff --git a/lib/libc/string/swab.3 b/lib/libc/string/swab.3 index 4d27e17d5b3f..93d879d2a35f 100644 --- a/lib/libc/string/swab.3 +++ b/lib/libc/string/swab.3 @@ -41,9 +41,9 @@ .Sh LIBRARY .Lb libc .Sh SYNOPSIS -.In string.h +.In unistd.h .Ft void -.Fn swab "const void * restrict src" "void * restrict dst" "size_t len" +.Fn swab "const void * restrict src" "void * restrict dst" "ssize_t len" .Sh DESCRIPTION The function .Fn swab diff --git a/lib/libc/string/swab.c b/lib/libc/string/swab.c index aa6f2682c01b..8c0c43febfde 100644 --- a/lib/libc/string/swab.c +++ b/lib/libc/string/swab.c @@ -40,10 +40,10 @@ static char sccsid[] = "@(#)swab.c 8.1 (Berkeley) 6/4/93"; #include __FBSDID("$FreeBSD$"); -#include +#include void -swab(const void * __restrict from, void * __restrict to, size_t len) +swab(const void * __restrict from, void * __restrict to, ssize_t len) { unsigned long temp; int n;