pam_start(3)

pam_start3

Initiate a pam transaction

Usage

#include <sys/types.h>

#include <security/pam_appl.h>

int

pam_start(const char *service, const char *user, const struct pam_conv *pam_conv, pam_handle_t **pamh);

Overview

The pam_start() function creates and initializes a PAM context.

The service argument specifies the name of the policy to apply, and is stored in the PAM_SERVICE item in the created context.

The user argument specifies the name of the target user - the user the created context will serve to authenticate. It is stored in the PAM_USER item in the created context.

The pam_conv argument points to a struct pam_conv describing the conversation function to use; see pam_conv for details.

Return values

The pam_start() function returns one of the following values:

[PAM_SUCCESS]

Success.

[PAM_BAD_ITEM]

Unrecognized or restricted item.

[PAM_BUF_ERR]

Memory buffer error.

[PAM_SYSTEM_ERR]

System error.

Releases

76 releases since FreeBSD 3.1-RELEASE; the text changed 17 times.

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

Standards

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

Authors

The pam_start() 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.