view libpam-sys/libpam-sys-test/illumos_pam_impl.h @ 143:ebb71a412b58

Turn everything into OsString and Just Walk Out! for strings with nul. To reduce the hazard surface of the API, this replaces most uses of &str with &OsStr (and likewise with String/OsString). Also, I've decided that instead of dealing with callers putting `\0` in their parameters, I'm going to follow the example of std::env and Just Walk Out! (i.e., panic!()). This makes things a lot less annoying for both me and (hopefully) users.
author Paul Fisher <paul@pfish.zone>
date Sat, 05 Jul 2025 22:12:46 -0400
parents 88627c057709
children
line wrap: on
line source

/*
 * Semi-public functions exposed in Sun's `libpam.so`.
 * https://code.illumos.org/plugins/gitiles/illumos-gate/+/f3a1073761f959966ab629695ee17f4417413796/usr/src/lib/libpam/pam_impl.h
 */

#define PAM_PROMPT 1
#define PAM_HANDLE 2

extern int __pam_get_authtok(
    pam_handle_t *pamh,
    int source,
    int type,
    char *prompt,
    char **authtok
);

extern void __pam_log(
    int priority,
    const char *format,
    ...
);