00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef AUTH_CLIENT_H
00026
00027 #define AUTH_CLIENT_H
00028
00038 #ifndef MSG_TYPES_H
00039 #include <sofia-sip/msg_types.h>
00040 #endif
00041
00042 #ifndef URL_H
00043 #include <sofia-sip/url.h>
00044 #endif
00045
00046 SOFIA_BEGIN_DECLS
00047
00049 typedef struct auth_client_s auth_client_t;
00050
00051 SOFIAPUBFUN
00052 int auc_challenge(auth_client_t **auc, su_home_t *home,
00053 msg_auth_t const *auth,
00054 msg_hclass_t *crcl);
00055
00056 SOFIAPUBFUN
00057 int auc_credentials(auth_client_t **auc, su_home_t *home, char const *data);
00058
00059 SOFIAPUBFUN
00060 int auc_all_credentials(auth_client_t **auc_list,
00061 char const *scheme,
00062 char const *realm,
00063 char const *user,
00064 char const *pass);
00065
00066 SOFIAPUBFUN
00067 int auc_clear_credentials(auth_client_t **auc_list,
00068 char const *scheme,
00069 char const *realm);
00070
00071 SOFIAPUBFUN
00072 int auc_copy_credentials(auth_client_t **dst, auth_client_t const *src);
00073
00074 SOFIAPUBFUN
00075 int auc_authorization(auth_client_t **auc_list, msg_t *msg, msg_pub_t *pub,
00076 char const *method,
00077 url_t const *url,
00078 msg_payload_t const *body);
00079
00080 SOFIAPUBFUN
00081 int auc_authorization_headers(auth_client_t **auc_list,
00082 su_home_t *home,
00083 char const *method,
00084 url_t const *url,
00085 msg_payload_t const *body,
00086 msg_header_t **return_headers);
00087
00088 struct sip_s;
00089
00090 SOFIAPUBFUN
00091 int auc_authorize(auth_client_t **auc, msg_t *msg, struct sip_s *sip);
00092
00093 typedef struct auth_client_plugin auth_client_plugin_t;
00094
00095 SOFIAPUBFUN
00096 int auc_register_plugin(auth_client_plugin_t const *plugin);
00097
00098 SOFIA_END_DECLS
00099
00100 #endif