C AMQP Protocol Engine API  0.7
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
sasl.h File Reference
#include <proton/import_export.h>
#include <sys/types.h>
#include <proton/type_compat.h>
#include <proton/engine.h>
Include dependency graph for sasl.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

typedef struct pn_sasl_t pn_sasl_t
 

Enumerations

enum  pn_sasl_outcome_t {
  PN_SASL_NONE =-1, PN_SASL_OK =0, PN_SASL_AUTH =1, PN_SASL_SYS =2,
  PN_SASL_PERM =3, PN_SASL_TEMP =4
}
 
enum  pn_sasl_state_t {
  PN_SASL_CONF, PN_SASL_IDLE, PN_SASL_STEP, PN_SASL_PASS,
  PN_SASL_FAIL
}
 

Functions

PN_EXTERN pn_sasl_tpn_sasl (pn_transport_t *transport)
 
PN_EXTERN pn_sasl_state_t pn_sasl_state (pn_sasl_t *sasl)
 
PN_EXTERN void pn_sasl_mechanisms (pn_sasl_t *sasl, const char *mechanisms)
 
PN_EXTERN const char * pn_sasl_remote_mechanisms (pn_sasl_t *sasl)
 
PN_EXTERN void pn_sasl_client (pn_sasl_t *sasl)
 
PN_EXTERN void pn_sasl_server (pn_sasl_t *sasl)
 
PN_EXTERN void pn_sasl_plain (pn_sasl_t *sasl, const char *username, const char *password)
 
PN_EXTERN size_t pn_sasl_pending (pn_sasl_t *sasl)
 
PN_EXTERN ssize_t pn_sasl_recv (pn_sasl_t *sasl, char *bytes, size_t size)
 
PN_EXTERN ssize_t pn_sasl_send (pn_sasl_t *sasl, const char *bytes, size_t size)
 
PN_EXTERN void pn_sasl_done (pn_sasl_t *sasl, pn_sasl_outcome_t outcome)
 
PN_EXTERN pn_sasl_outcome_t pn_sasl_outcome (pn_sasl_t *sasl)
 

Detailed Description

API for the SASL Secure Transport Layer.

The SASL layer is responsible for establishing an authenticated and/or encrypted tunnel over which AMQP frames are passed between peers. The peer acting as the SASL Client must provide authentication credentials. The peer acting as the SASL Server must provide authentication against the received credentials.