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