+
+
+#include <security/checkpw.h>
+#include <pwd.h>
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+
+const char *prompt = "checkpw test prompt:";
+
+int
+main(int argv, char *argc[])
+{
+ char *uname;
+ int retval = 0;
+ struct passwd *pw = NULL;
+
+ uname = (char*)getenv("USER");
+ if ( NULL == uname)
+ {
+ uid_t uid = getuid();
+ struct passwd *pw = getpwuid(uid);
+ uname = pw->pw_name;
+ }
+
+ retval = checkpw(uname, getpass(prompt));
+ if (0 == retval)
+ {
+ printf("Password is okay.\n");
+ } else {
+ printf("Incorrect password.\n");
+ }
+
+ return retval;
+}