LCOV - code coverage report
Current view: top level - usr/include/security - pam_ext.h (source / functions) Hit Total Coverage
Test: coverage report for master 2f515e9b Lines: 2 4 50.0 %
Date: 2024-04-21 15:09:00 Functions: 2 4 50.0 %

          Line data    Source code
       1             : /*
       2             :  * Copyright (C) 2005, 2006, 2008, 2009 Thorsten Kukuk.
       3             :  *
       4             :  * <security/pam_ext.h>
       5             :  *
       6             :  * This header file collects definitions for the extended PAM API.
       7             :  * This is a public interface of the PAM library for PAM modules,
       8             :  * which makes the life of PAM developers easier, but are not documented
       9             :  * in any standard and are not portable between different PAM
      10             :  * implementations.
      11             :  *
      12             :  * Redistribution and use in source and binary forms, with or without
      13             :  * modification, are permitted provided that the following conditions
      14             :  * are met:
      15             :  * 1. Redistributions of source code must retain the above copyright
      16             :  *    notice, and the entire permission notice in its entirety,
      17             :  *    including the disclaimer of warranties.
      18             :  * 2. Redistributions in binary form must reproduce the above copyright
      19             :  *    notice, this list of conditions and the following disclaimer in the
      20             :  *    documentation and/or other materials provided with the distribution.
      21             :  * 3. The name of the author may not be used to endorse or promote
      22             :  *    products derived from this software without specific prior
      23             :  *    written permission.
      24             :  *
      25             :  * ALTERNATIVELY, this product may be distributed under the terms of
      26             :  * the GNU Public License, in which case the provisions of the GPL are
      27             :  * required INSTEAD OF the above restrictions.  (This clause is
      28             :  * necessary due to a potential bad interaction between the GPL and
      29             :  * the restrictions contained in a BSD-style copyright.)
      30             :  *
      31             :  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
      32             :  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
      33             :  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
      34             :  * DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
      35             :  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
      36             :  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
      37             :  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
      38             :  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
      39             :  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
      40             :  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
      41             :  * OF THE POSSIBILITY OF SUCH DAMAGE.
      42             :  */
      43             : 
      44             : #ifndef _SECURITY__PAM_EXT_H_
      45             : #define _SECURITY__PAM_EXT_H_
      46             : 
      47             : #ifdef __cplusplus
      48             : extern "C" {
      49             : #endif
      50             : 
      51             : #include <security/_pam_types.h>
      52             : #include <stdarg.h>
      53             : 
      54             : extern void PAM_FORMAT((printf, 3, 0)) PAM_NONNULL((3))
      55        4334 : pam_vsyslog (const pam_handle_t *pamh, int priority,
      56             :              const char *fmt, va_list args);
      57             : 
      58             : extern void PAM_FORMAT((printf, 3, 4)) PAM_NONNULL((3))
      59         125 : pam_syslog (const pam_handle_t *pamh, int priority, const char *fmt, ...);
      60             : 
      61             : extern int PAM_FORMAT((printf, 4, 0)) PAM_NONNULL((1,4))
      62           0 : pam_vprompt (pam_handle_t *pamh, int style, char **response,
      63             :              const char *fmt, va_list args);
      64             : 
      65             : extern int PAM_FORMAT((printf, 4, 5)) PAM_NONNULL((1,4))
      66           0 : pam_prompt (pam_handle_t *pamh, int style, char **response,
      67             :             const char *fmt, ...);
      68             : 
      69             : #define pam_error(pamh, fmt...) \
      70             :         pam_prompt(pamh, PAM_ERROR_MSG, NULL, fmt)
      71             : #define pam_verror(pamh, fmt, args) \
      72             :         pam_vprompt(pamh, PAM_ERROR_MSG, NULL, fmt, args)
      73             : 
      74             : #define pam_info(pamh, fmt...) pam_prompt(pamh, PAM_TEXT_INFO, NULL, fmt)
      75             : #define pam_vinfo(pamh, fmt, args) pam_vprompt(pamh, PAM_TEXT_INFO, NULL, fmt, args)
      76             : 
      77             : extern int PAM_NONNULL((1,3))
      78             : pam_get_authtok (pam_handle_t *pamh, int item, const char **authtok,
      79             :                  const char *prompt);
      80             : extern int PAM_NONNULL((1,2))
      81             : pam_get_authtok_noverify (pam_handle_t *pamh, const char **authtok,
      82             :                           const char *prompt);
      83             : extern int PAM_NONNULL((1,2))
      84             : pam_get_authtok_verify (pam_handle_t *pamh, const char **authtok,
      85             :                         const char *prompt);
      86             : 
      87             : #ifdef __cplusplus
      88             : }
      89             : #endif
      90             : 
      91             : #endif

Generated by: LCOV version 1.14