xref: /freebsd-src/contrib/openpam/include/security/openpam_attr.h (revision 3ba4c8c81a28de3e00ccf6d7f92c6f8e58bef456)
1*ce77a8d6SDag-Erling Smørgrav #ifndef SECURITY_OPENPAM_ATTR_H_INCLUDED
2*ce77a8d6SDag-Erling Smørgrav #define SECURITY_OPENPAM_ATTR_H_INCLUDED
3fe980754SDag-Erling Smørgrav 
4fe980754SDag-Erling Smørgrav /* GCC attributes */
5fe980754SDag-Erling Smørgrav #if defined(__GNUC__) && defined(__GNUC_MINOR__) && !defined(__STRICT_ANSI__)
6fe980754SDag-Erling Smørgrav # define OPENPAM_GNUC_PREREQ(maj, min) \
7fe980754SDag-Erling Smørgrav         ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
8fe980754SDag-Erling Smørgrav #else
9fe980754SDag-Erling Smørgrav # define OPENPAM_GNUC_PREREQ(maj, min) 0
10fe980754SDag-Erling Smørgrav #endif
11fe980754SDag-Erling Smørgrav 
12fe980754SDag-Erling Smørgrav #if OPENPAM_GNUC_PREREQ(2,5)
13fe980754SDag-Erling Smørgrav # define OPENPAM_FORMAT(params) __attribute__((__format__ params))
14fe980754SDag-Erling Smørgrav #else
15fe980754SDag-Erling Smørgrav # define OPENPAM_FORMAT(params)
16fe980754SDag-Erling Smørgrav #endif
17fe980754SDag-Erling Smørgrav 
18fe980754SDag-Erling Smørgrav #if OPENPAM_GNUC_PREREQ(3,3)
19fe980754SDag-Erling Smørgrav # define OPENPAM_NONNULL(params) __attribute__((__nonnull__ params))
20fe980754SDag-Erling Smørgrav #else
21fe980754SDag-Erling Smørgrav # define OPENPAM_NONNULL(params)
22fe980754SDag-Erling Smørgrav #endif
23fe980754SDag-Erling Smørgrav 
24*ce77a8d6SDag-Erling Smørgrav #if OPENPAM_GNUC_PREREQ(2,7)
25*ce77a8d6SDag-Erling Smørgrav # define OPENPAM_UNUSED(var) var __attribute__((__unused__))
26*ce77a8d6SDag-Erling Smørgrav #else
27*ce77a8d6SDag-Erling Smørgrav # define OPENPAM_UNUSED(var) var
28*ce77a8d6SDag-Erling Smørgrav #endif
29*ce77a8d6SDag-Erling Smørgrav 
30*ce77a8d6SDag-Erling Smørgrav #endif /* !SECURITY_OPENPAM_ATTR_H_INCLUDED */
31