pam_set_data(3)

pam_set_data3

Set module information

Usage

#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));

Overview

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.

Releases

56 releases since FreeBSD 5.0-RELEASE; the text changed 15 times.

  1. 5.0
  2. 5.1
  3. 5.2–5.2.1
  4. 5.3–5.5
  5. 6.0–6.3
  6. 6.4
  7. 7.0
  8. 7.1–9.1
  9. 9.2
  10. 9.3–10.0
  11. 10.1–11.2
  12. 11.3–11.4
  13. 12.0–12.2
  14. 12.3–13.2
  15. 13.3–14.5
  16. 15.0–16.0

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 ⟨[email protected]⟩.

From base 16.0-CURRENT-20261027-61c70dc16a79 in FreeBSD 16.0-CURRENT (2026-10-27). Parsed by carta from the page's mdoc source.