22# define VLC_KEYSTORE_H 
   61#define VLC_KEYSTORE_VALUES_INIT(ppsz_values) memset(ppsz_values, 0, sizeof(const char *) * KEY_MAX) 
   91#define vlc_keystore_create(x) vlc_keystore_create(VLC_OBJECT(x)) 
  115                   const char *
const ppsz_values[
KEY_MAX],
 
  116                   const uint8_t* p_secret, ssize_t i_secret_len,
 
  131                  const char *
const ppsz_values[
KEY_MAX],
 
  146                    const char *
const ppsz_values[
KEY_MAX]);
 
  240                   const char *psz_option_username,
 
  241                   const char *psz_option_password,
 
  242                   const char *psz_dialog_title,
 
  243                   const char *psz_dialog_fmt, ...) 
VLC_FORMAT(6, 7);
 
  244#define vlc_credential_get(a, b, c, d, e, f, ...) \ 
  245    vlc_credential_get(a, VLC_OBJECT(b), c, d, e, f, ##__VA_ARGS__) 
  259#define vlc_credential_store(a, b) \ 
  260    vlc_credential_store(a, VLC_OBJECT(b)) 
  268#define VLC_KEYSTORE_NAME "libVLC" 
  272                              const uint8_t *p_secret, 
size_t i_secret_len)
 
  274    p_entry->
p_secret = (uint8_t*) malloc(i_secret_len);
 
  277    memcpy(p_entry->
p_secret, p_secret, i_secret_len);
 
  285    for (
unsigned int j = 0; j < 
KEY_MAX; ++j)
 
  304                                    const uint8_t *p_secret,
 
  305                                    size_t i_secret_len, 
const char *
psz_label);
 
#define VLC_USED
Definition: fourcc_gen.c:32
 
#define VLC_API
Definition: fourcc_gen.c:31
 
#define VLC_FORMAT(x, y)
String format function annotation.
Definition: vlc_common.h:204
 
#define vlc_credential_get(a, b, c, d, e, f,...)
Definition: vlc_keystore.h:245
 
void vlc_credential_clean(vlc_credential *p_credential)
Clean a credential struct.
Definition: keystore.c:360
 
void vlc_credential_init(vlc_credential *p_credential, const vlc_url_t *p_url)
Init a credential struct.
Definition: keystore.c:350
 
#define vlc_credential_store(a, b)
Definition: vlc_keystore.h:260
 
#define VLC_EGENERIC
Unspecified error.
Definition: vlc_common.h:505
 
#define VLC_SUCCESS
No error.
Definition: vlc_common.h:503
 
static void vlc_keystore_release_entry(vlc_keystore_entry *p_entry)
Definition: vlc_keystore.h:284
 
static int vlc_keystore_entry_set_secret(vlc_keystore_entry *p_entry, const uint8_t *p_secret, size_t i_secret_len)
Definition: vlc_keystore.h:272
 
struct vlc_keystore_sys vlc_keystore_sys
Definition: vlc_keystore.h:295
 
#define vlc_keystore_create(x)
Definition: vlc_keystore.h:92
 
void vlc_keystore_release(vlc_keystore *p_keystore)
Release a keystore object.
Definition: keystore.c:71
 
unsigned int vlc_keystore_find(vlc_keystore *p_keystore, const char *const ppsz_values[KEY_MAX], vlc_keystore_entry **pp_entries)
Find all entries that match a set of key/values.
Definition: keystore.c:110
 
unsigned int vlc_keystore_remove(vlc_keystore *p_keystore, const char *const ppsz_values[KEY_MAX])
Remove all entries that match a set of key/values.
Definition: keystore.c:119
 
vlc_keystore_key
List of keys that can be stored via the keystore API.
Definition: vlc_keystore.h:52
 
void vlc_keystore_release_entries(vlc_keystore_entry *p_entries, unsigned int i_count)
Release the list of entries returned by vlc_keystore_find()
Definition: keystore.c:127
 
int vlc_keystore_store(vlc_keystore *p_keystore, const char *const ppsz_values[KEY_MAX], const uint8_t *p_secret, ssize_t i_secret_len, const char *psz_label)
Store a secret associated with a set of key/values.
Definition: keystore.c:80
 
@ KEY_PROTOCOL
Definition: vlc_keystore.h:53
 
@ KEY_PATH
Definition: vlc_keystore.h:56
 
@ KEY_USER
Definition: vlc_keystore.h:54
 
@ KEY_SERVER
Definition: vlc_keystore.h:55
 
@ KEY_REALM
Definition: vlc_keystore.h:58
 
@ KEY_MAX
Definition: vlc_keystore.h:60
 
@ KEY_AUTHTYPE
Definition: vlc_keystore.h:59
 
@ KEY_PORT
Definition: vlc_keystore.h:57
 
Definition: vlc_objects.h:91
 
Internal module descriptor.
Definition: modules.h:76
 
Definition: vlc_keystore.h:165
 
const char * psz_authtype
http authtype to search, can be overridden after a call to vlc_credential_get()
Definition: vlc_keystore.h:173
 
unsigned int i_entries_count
Definition: vlc_keystore.h:190
 
char * psz_var_password
Definition: vlc_keystore.h:194
 
char * psz_var_username
Definition: vlc_keystore.h:193
 
bool b_store
Definition: vlc_keystore.h:199
 
vlc_keystore_entry * p_entries
Definition: vlc_keystore.h:189
 
char * psz_dialog_username
Definition: vlc_keystore.h:196
 
char * psz_split_domain
Definition: vlc_keystore.h:192
 
@ GET_FROM_KEYSTORE
Definition: vlc_keystore.h:184
 
@ GET_FROM_MEMORY_KEYSTORE
Definition: vlc_keystore.h:183
 
@ GET_FROM_URL
Definition: vlc_keystore.h:181
 
@ GET_FROM_DIALOG
Definition: vlc_keystore.h:185
 
@ GET_FROM_OPTION
Definition: vlc_keystore.h:182
 
const char * psz_realm
http realm or smb domain to search, can be overridden after a call to vlc_credential_get()
Definition: vlc_keystore.h:170
 
bool b_from_keystore
Definition: vlc_keystore.h:198
 
char * psz_dialog_password
Definition: vlc_keystore.h:197
 
const char * psz_username
valid only if vlc_credential_get() returned true
Definition: vlc_keystore.h:175
 
enum vlc_credential::@239 i_get_order
 
vlc_keystore * p_keystore
Definition: vlc_keystore.h:188
 
const vlc_url_t * p_url
url to store or to search
Definition: vlc_keystore.h:167
 
const char * psz_password
valid only if vlc_credential_get() returned true
Definition: vlc_keystore.h:177
 
Keystore entry returned by vlc_keystore_find()
Definition: vlc_keystore.h:68
 
uint8_t * p_secret
Secret password.
Definition: vlc_keystore.h:72
 
char * ppsz_values[KEY_MAX]
Set of key/values.
Definition: vlc_keystore.h:70
 
size_t i_secret_len
Length of the secret.
Definition: vlc_keystore.h:74
 
Definition: vlc_keystore.h:297
 
unsigned int(* pf_remove)(vlc_keystore *p_keystore, const char *const ppsz_values[KEY_MAX])
See vlc_keystore_remove()
Definition: vlc_keystore.h:313
 
int(* pf_store)(vlc_keystore *p_keystore, const char *const ppsz_values[KEY_MAX], const uint8_t *p_secret, size_t i_secret_len, const char *psz_label)
See vlc_keystore_store()
Definition: vlc_keystore.h:303
 
struct vlc_object_t obj
Definition: vlc_keystore.h:298
 
unsigned int(* pf_find)(vlc_keystore *p_keystore, const char *const ppsz_values[KEY_MAX], vlc_keystore_entry **pp_entries)
See vlc_keystore_find()
Definition: vlc_keystore.h:308
 
module_t * p_module
Definition: vlc_keystore.h:299
 
vlc_keystore_sys * p_sys
Definition: vlc_keystore.h:300
 
VLC object common members.
Definition: vlc_objects.h:45
 
Definition: vlc_url.h:146
 
This file is a collection of common definitions and types.
 
void libvlc_InternalKeystoreClean(libvlc_int_t *p_libvlc)
Definition: keystore.c:145
 
int libvlc_InternalKeystoreInit(libvlc_int_t *p_libvlc)
Definition: keystore.c:135
 
char psz_label[13]
Definition: vout_intf.c:89