PAM_SET_DATA(3) | Library Functions Manual | PAM_SET_DATA(3)

# NAME

`pam_set_data` — set module information

# SYNOPSIS

`#include <sys/types.h>`
`#include <security/pam_appl.h>`

int
`pam_set_data`(pam_handle_t *pamh, const char *module_data_name, void *data, void (*cleanup)(pam_handle_t *pamh, void *data, int pam_end_status));

# DESCRIPTION

The `pam_set_data`() function associates a pointer to an opaque object with an arbitrary string specified by the module_data_name argument, in the PAM context specified by the pamh argument.

If not `NULL`, the cleanup argument should point to a function responsible for releasing the resources associated with the object.

This function and its counterpart pam_get_data(3) are useful for managing data that are meaningful only to a particular service module.

# RETURN VALUES

The `pam_set_data`() function returns one of the following values:

[`PAM_SUCCESS`]
  Success.
[`PAM_BUF_ERR`]
  Memory buffer error.
[`PAM_SYSTEM_ERR`]
  System error.

# SEE ALSO

openpam_free_data(3), pam(3), pam_get_data(3), pam_strerror(3)

# STANDARDS

X/Open Single Sign-On Service (XSSO) - Pluggable Authentication Modules, June 1997.

# AUTHORS

The `pam_set_data`() function and this manual page were developed for the FreeBSD Project by ThinkSec AS and Network Associates Laboratories, the Security Research Division of Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 (“CBOSS”), as part of the DARPA CHATS research program.

The OpenPAM library is maintained by Dag-Erling Smørgrav <des@des.no>.

June 27, 2023 | NetBSD 11.0