Index: /trunk/src/VBox/Additions/common/pam/pam_vbox.cpp
===================================================================
--- /trunk/src/VBox/Additions/common/pam/pam_vbox.cpp	(revision 39740)
+++ /trunk/src/VBox/Additions/common/pam/pam_vbox.cpp	(revision 39741)
@@ -56,4 +56,13 @@
 
 #define VBOX_MODULE_NAME "pam_vbox"
+
+RT_C_DECLS_BEGIN
+RTDECL(int) pam_sm_authenticate(pam_handle_t *hPAM, int iFlags, int argc, const char **argv);
+RTDECL(int) pam_sm_setcred(pam_handle_t *hPAM, int iFlags, int argc, const char **argv);
+RTDECL(int) pam_sm_acct_mgmt(pam_handle_t *hPAM, int iFlags, int argc, const char **argv);
+RTDECL(int) pam_sm_open_session(pam_handle_t *hPAM, int iFlags, int argc, const char **argv);
+RTDECL(int) pam_sm_close_session(pam_handle_t *hPAM, int iFlags, int argc, const char **argv);
+RTDECL(int) pam_sm_chauthtok(pam_handle_t *hPAM, int iFlags, int argc, const char **argv);
+RT_C_DECLS_END
 
 /** For debugging. */
@@ -826,13 +835,15 @@
 }
 
-RTDECL(int) pam_sm_setcred(pam_handle_t *hPAM, int iFlags, int argc, const char **argv)
+
+DECLEXPORT(int) pam_sm_setcred(pam_handle_t *hPAM, int iFlags, int argc, const char **argv)
 {
     pam_vbox_log(hPAM, "pam_vbox_setcred called, iFlags=0x%x\n", iFlags);
     for (int i = 0; i < argc; i++)
-        pam_vbox_log(hPAM, "pam_vbox_setcred: argv[0] = %s\n", argv[i]);
+        pam_vbox_log(hPAM, "pam_vbox_setcred: argv[%d] = %s\n", i, argv[i]);
     return PAM_SUCCESS;
 }
 
-RTDECL(int) pam_sm_acct_mgmt(pam_handle_t *hPAM, int iFlags, int argc, const char **argv)
+
+DECLEXPORT(int) pam_sm_acct_mgmt(pam_handle_t *hPAM, int iFlags, int argc, const char **argv)
 {
     pam_vbox_log(hPAM, "pam_vbox_acct_mgmt called\n");
@@ -841,5 +852,5 @@
 
 
-RTDECL(int) pam_sm_open_session(pam_handle_t *hPAM, int iFlags, int argc, const char **argv)
+DECLEXPORT(int) pam_sm_open_session(pam_handle_t *hPAM, int iFlags, int argc, const char **argv)
 {
     pam_vbox_log(hPAM, "pam_vbox_open_session called\n");
@@ -849,5 +860,5 @@
 
 
-RTDECL(int) pam_sm_close_session(pam_handle_t *hPAM, int iFlags, int argc, const char **argv)
+DECLEXPORT(int) pam_sm_close_session(pam_handle_t *hPAM, int iFlags, int argc, const char **argv)
 {
     pam_vbox_log(hPAM, "pam_vbox_close_session called\n");
@@ -855,5 +866,6 @@
 }
 
-RTDECL(int) pam_sm_chauthtok(pam_handle_t *hPAM, int iFlags, int argc, const char **argv)
+
+DECLEXPORT(int) pam_sm_chauthtok(pam_handle_t *hPAM, int iFlags, int argc, const char **argv)
 {
     pam_vbox_log(hPAM, "pam_vbox_sm_chauthtok called\n");
@@ -861,6 +873,7 @@
 }
 
+
 #ifdef DEBUG
-RTDECL(void) RTAssertMsg1Weak(const char *pszExpr, unsigned uLine, const char *pszFile, const char *pszFunction)
+DECLEXPORT(void) RTAssertMsg1Weak(const char *pszExpr, unsigned uLine, const char *pszFile, const char *pszFunction)
 {
     pam_vbox_log(g_pam_handle,
@@ -872,2 +885,3 @@
 }
 #endif
+
