1#ifndef SECURITY_OPENPAM_ATTR_H_INCLUDED 2#define SECURITY_OPENPAM_ATTR_H_INCLUDED 3 4/* GCC attributes */ 5#if defined(__GNUC__) && defined(__GNUC_MINOR__) && !defined(__STRICT_ANSI__) 6# define OPENPAM_GNUC_PREREQ(maj, min) \ 7 ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) 8#else 9# define OPENPAM_GNUC_PREREQ(maj, min) 0 10#endif 11 12#if OPENPAM_GNUC_PREREQ(2,5) 13# define OPENPAM_FORMAT(params) __attribute__((__format__ params)) 14#else 15# define OPENPAM_FORMAT(params) 16#endif 17 18#if OPENPAM_GNUC_PREREQ(3,3) 19# define OPENPAM_NONNULL(params) __attribute__((__nonnull__ params)) 20#else 21# define OPENPAM_NONNULL(params) 22#endif 23 24#if OPENPAM_GNUC_PREREQ(2,7) 25# define OPENPAM_UNUSED(var) var __attribute__((__unused__)) 26#else 27# define OPENPAM_UNUSED(var) var 28#endif 29 30#endif /* !SECURITY_OPENPAM_ATTR_H_INCLUDED */ 31