25 #ifndef AUTH_CLIENT_PLUGIN_H
27 #define AUTH_CLIENT_PLUGIN_H
53 struct auth_client_s {
55 auth_client_plugin_t
const *ca_auc;
59 char const *ca_scheme;
66 #if SOFIA_EXTEND_AUTH_CLIENT
71 struct auth_client_plugin
80 msg_auth_t
const *ch);
91 int (*auc_info)(
auth_client_t *ca, msg_auth_info_t
const *ai);
93 #if SOFIA_EXTEND_AUTH_CLIENT
111 #define AUTH_CLIENT_IS_EXTENDED(ca) \
113 (ca)->ca_auc->auc_plugin_size > \
114 (int)offsetof(auth_client_plugin_t, auc_clear) \
115 && (ca)->ca_auc->auc_clear != NULL)
120 #define AUTH_CLIENT_SAVE_CREDENTIALS(ca) \
122 (ca)->ca_auc->auc_plugin_size > \
123 (int)offsetof(auth_client_plugin_t, auc_save_credentials) \
124 ? (ca)->ca_auc->auc_save_credentials : NULL)
135 #define AUTH_CLIENT_COPY_CREDENTIALS(ca) \
137 (ca)->ca_auc->auc_plugin_size > \
138 (int)offsetof(auth_client_plugin_t, auc_copy_credentials) \
139 ? (ca)->ca_auc->auc_copy_credentials : NULL)