I posted an error I got a couple of days ago when I compiled a C++ app I made using the pam_misc.h header file. It returned an error compaining about an anonymous type . I finally figure out what was wrong . There is an #ifdef __cplusplus extern "C" { #endif missing in pam_misc.h . Here is a patch to correct this. I did not try this against anything else.
--- /usr/include/security/pam_misc.h Mon Apr 30 16:47:39 2001 +++ pam_misc.h Mon Apr 30 16:47:19 2001 @@ -3,6 +3,10 @@ #ifndef __PAMMISC_H #define __PAMMISC_H +#ifdef __cplusplus +extern "C" { +#endif + #include <security/pam_appl.h> #include <security/pam_client.h> @@ -50,6 +54,9 @@ extern int pam_misc_setenv(pam_handle_t *pamh, const char *name , const char *value, int readonly); +#ifdef __cplusplus +} +#endif #endif