2 * These macros are partially based on Linux-PAM's <security/_pam_macros.h>,
3 * which were organized by Cristian Gafton and I believe are in the public
7 #ifndef PAM_PASSWDQC_MACROS_H__
8 #define PAM_PASSWDQC_MACROS_H__
13 #define pwqc_overwrite_string(x) \
16 memset((x), 0, strlen(x)); \
19 #define pwqc_drop_mem(x) \
27 #define pwqc_drop_pam_reply(/* struct pam_response* */ reply, /* int */ replies) \
32 for (reply_i = 0; reply_i < (replies); ++reply_i) { \
33 pwqc_overwrite_string((reply)[reply_i].resp); \
34 pwqc_drop_mem((reply)[reply_i].resp); \
36 pwqc_drop_mem(reply); \
40 #endif /* PAM_PASSWDQC_MACROS_H__ */