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