MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
isasl.h
1 #ifndef ISASL_H
2 #define ISASL_H 1
3 
4 #define SASL_CB_LIST_END 0 /* end of list */
5 
6 #define SASL_USERNAME 0 /* pointer to NUL terminated user name */
7 #define ISASL_CONFIG 20 /* Just so we don't have to implement all the auxprop stuff */
8 
9 typedef struct sasl_callback {
10  unsigned long id;
11  int (*proc)(void);
12  void *context;
14 
15 typedef struct sasl_conn {
16  char *username;
17  char *config;
18 } sasl_conn_t;
19 
20 typedef struct user_db_entry {
21  char *username;
22  char *password;
23  char *config;
24  struct user_db_entry *next;
26 
27 void sasl_dispose(sasl_conn_t **pconn);
28 
29 int sasl_server_init(const sasl_callback_t *callbacks,
30  const char *appname);
31 
32 int sasl_server_new(const char *service,
33  const char *serverFQDN,
34  const char *user_realm,
35  const char *iplocalport,
36  const char *ipremoteport,
37  const sasl_callback_t *callbacks,
38  unsigned flags,
39  sasl_conn_t **pconn);
40 
41 int sasl_listmech(sasl_conn_t *conn,
42  const char *user,
43  const char *prefix,
44  const char *sep,
45  const char *suffix,
46  const char **result,
47  unsigned *plen,
48  int *pcount);
49 
50 int sasl_server_start(sasl_conn_t *conn,
51  const char *mech,
52  const char *clientin,
53  unsigned clientinlen,
54  const char **serverout,
55  unsigned *serveroutlen);
56 
57 int sasl_server_step(sasl_conn_t *conn,
58  const char *clientin,
59  unsigned clientinlen,
60  const char **serverout,
61  unsigned *serveroutlen);
62 
63 int sasl_getprop(sasl_conn_t *conn, int propnum,
64  const void **pvalue);
65 
66 #define SASL_OK 0
67 #define SASL_CONTINUE 1
68 #define SASL_FAIL -1 /* generic failure */
69 #define SASL_NOMEM -2 /* memory shortage failure */
70 #define SASL_BADPARAM -7 /* invalid parameter supplied */
71 #define SASL_NOUSER -20 /* user not found */
72 
73 #endif /* ISASL_H */