Функции обслуживания теневых паролей
Файл shadow.h содержит также прототипы функций из библиотеки libshadow.a:
extern void setspent __P ((void));
extern void endspent __P ((void));
extern struct spwd *sgetspent __P ((__const char *__string));
extern struct spwd *fgetspent __P ((FILE *__fp));
extern struct spwd *getspent __P ((void));
extern struct spwd *getspnam __P ((__const char *__name));
extern int putspent __P ((__const struct spwd *__sp, FILE *__fp));
В примере, однако, мы используем только одну из них — getspnam, которая позволяет заполнить структуру spwd для передаваемого в виде аргумента регистрационного имени пользователя.