00001 #ifndef PROTON_SASL_H
00002 #define PROTON_SASL_H 1
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #include <proton/import_export.h>
00026 #include <proton/type_compat.h>
00027 #include <proton/types.h>
00028
00029 #ifdef __cplusplus
00030 extern "C" {
00031 #endif
00032
00049 typedef struct pn_sasl_t pn_sasl_t;
00050
00054 typedef enum {
00055 PN_SASL_NONE = -1,
00056 PN_SASL_OK = 0,
00057 PN_SASL_AUTH = 1,
00058 PN_SASL_SYS = 2,
00059 PN_SASL_PERM = 3,
00060 PN_SASL_TEMP = 4
00061 } pn_sasl_outcome_t;
00062
00077 PN_EXTERN pn_sasl_t *pn_sasl(pn_transport_t *transport);
00078
00091 PN_EXTERN bool pn_sasl_extended(void);
00092
00101 PN_EXTERN void pn_sasl_done(pn_sasl_t *sasl, pn_sasl_outcome_t outcome);
00102
00106 PN_EXTERN pn_sasl_outcome_t pn_sasl_outcome(pn_sasl_t *sasl);
00107
00125 PN_EXTERN const char *pn_sasl_get_user(pn_sasl_t *sasl);
00126
00136 PN_EXTERN const char *pn_sasl_get_mech(pn_sasl_t *sasl);
00137
00155 PN_EXTERN void pn_sasl_allowed_mechs(pn_sasl_t *sasl, const char *mechs);
00156
00174 PN_EXTERN void pn_sasl_set_allow_insecure_mechs(pn_sasl_t *sasl, bool insecure);
00175
00181 PN_EXTERN bool pn_sasl_get_allow_insecure_mechs(pn_sasl_t *sasl);
00182
00195 PN_EXTERN void pn_sasl_config_name(pn_sasl_t *sasl, const char *name);
00196
00212 PN_EXTERN void pn_sasl_config_path(pn_sasl_t *sasl, const char *path);
00213
00218 #ifdef __cplusplus
00219 }
00220 #endif
00221
00222 #endif