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
00074 PN_EXTERN pn_sasl_t *pn_sasl(pn_transport_t *transport);
00075
00088 PN_EXTERN bool pn_sasl_extended(void);
00089
00097 PN_EXTERN void pn_sasl_done(pn_sasl_t *sasl, pn_sasl_outcome_t outcome);
00098
00104 PN_EXTERN pn_sasl_outcome_t pn_sasl_outcome(pn_sasl_t *sasl);
00105
00123 PN_EXTERN const char *pn_sasl_get_user(pn_sasl_t *sasl);
00124
00134 PN_EXTERN const char *pn_sasl_get_mech(pn_sasl_t *sasl);
00135
00145 PN_EXTERN void pn_sasl_allowed_mechs(pn_sasl_t *sasl, const char *mechs);
00146
00164 PN_EXTERN void pn_sasl_set_allow_insecure_mechs(pn_sasl_t *sasl, bool insecure);
00165
00171 PN_EXTERN bool pn_sasl_get_allow_insecure_mechs(pn_sasl_t *sasl);
00172
00185 PN_EXTERN void pn_sasl_config_name(pn_sasl_t *sasl, const char *name);
00186
00202 PN_EXTERN void pn_sasl_config_path(pn_sasl_t *sasl, const char *path);
00203
00208 #ifdef __cplusplus
00209 }
00210 #endif
00211
00212 #endif