150476Speter/* 217728Sjkh * $Id: openpam_attr.h 656 2013-03-06 22:58:45Z des $ 320488Sjdp */ 420488Sjdp 517728Sjkh#ifndef SECURITY_OPENPAM_ATTR_H_INCLUDED 620488Sjdp#define SECURITY_OPENPAM_ATTR_H_INCLUDED 720488Sjdp 820488Sjdp/* GCC attributes */ 920488Sjdp#if defined(__GNUC__) && defined(__GNUC_MINOR__) && !defined(__STRICT_ANSI__) 1020488Sjdp# define OPENPAM_GNUC_PREREQ(maj, min) \ 1120488Sjdp ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) 1220488Sjdp#else 1317728Sjkh# define OPENPAM_GNUC_PREREQ(maj, min) 0 1417728Sjkh#endif 1517728Sjkh 1617728Sjkh#if OPENPAM_GNUC_PREREQ(2,5) 1717728Sjkh# define OPENPAM_FORMAT(params) __attribute__((__format__ params)) 1817728Sjkh#else 1917728Sjkh# define OPENPAM_FORMAT(params) 2020488Sjdp#endif 2117728Sjkh 2217728Sjkh#if OPENPAM_GNUC_PREREQ(3,3) 2343907Sjdp# define OPENPAM_NONNULL(params) __attribute__((__nonnull__ params)) 2420488Sjdp#else 2543907Sjdp# define OPENPAM_NONNULL(params) 2643907Sjdp#endif 27100945Sblackend 2843907Sjdp#if OPENPAM_GNUC_PREREQ(2,7) 2943907Sjdp# define OPENPAM_UNUSED(var) var __attribute__((__unused__)) 3020488Sjdp#else 3120488Sjdp# define OPENPAM_UNUSED(var) var 3220488Sjdp#endif 3317728Sjkh 3417728Sjkh#endif /* !SECURITY_OPENPAM_ATTR_H_INCLUDED */ 3519619Sjdp