#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#include <security/pam_appl.h>
#include <security/pam_modules.h>

void test_cleanup (pam_handle_t *pamh, void *data, int error_status)
{
	char *text = data;

	printf("DEBUG: running cleanup function with text '%s' and error_status:%d\n", text, error_status);
	free(data);
}

int pam_sm_authenticate(pam_handle_t *pamh , int flags, int argc, const char **argv)
{
	pam_set_data(pamh, "testmodule", strdup("foobar"), test_cleanup);

	return PAM_SUCCESS;
}


int pam_sm_setcred(pam_handle_t *pamh , int flags, int argc, const char **argv)
{
	return PAM_SUCCESS;
}
