When a function has the "restrict" keyword, it is usually mentioned in the manpage.
Some man pages omit it. For example, strtok:
strok has the signature :
char *strtok(char * __restrict, const char * __restrict);
The manpage lists it as :
char * strtok(char *str, const char *sep);
It should be:
char * strtok(char * restrict str, const char * restrict sep);
A few other functions in string.h that use "restrict", but omit it in their man pages:
memcpy is interesting: Its documentation says it uses bcopy, and therefore the strings may overlap. However, the signature in string.h includes the "restrict" keywords.