winreg_keylist
list_create(&winreg_keylist.kl_list, sizeof (winreg_subkey_t),
winreg_keylist.kl_count = 0;
list_insert_tail(&winreg_keylist.kl_list, key);
++winreg_keylist.kl_count;
if (list_is_empty(&winreg_keylist.kl_list))
key = list_head(&winreg_keylist.kl_list);
} while ((key = list_next(&winreg_keylist.kl_list, key)) != NULL);
list_insert_tail(&winreg_keylist.kl_list, key);
++winreg_keylist.kl_count;
list_is_empty(&winreg_keylist.kl_list) ||
key = list_head(&winreg_keylist.kl_list);
list_remove(&winreg_keylist.kl_list, key);
--winreg_keylist.kl_count;
} while ((key = list_next(&winreg_keylist.kl_list, key)) != NULL);
if (list_is_empty(&winreg_keylist.kl_list))
key = list_head(&winreg_keylist.kl_list);
} while ((key = list_next(&winreg_keylist.kl_list, key)) != NULL);
if (list_is_empty(&winreg_keylist.kl_list))
for (key = list_head(&winreg_keylist.kl_list);
key != NULL; key = list_next(&winreg_keylist.kl_list, key)) {
if (subkey == NULL || list_is_empty(&winreg_keylist.kl_list)) {
key = list_head(&winreg_keylist.kl_list);
} while ((key = list_next(&winreg_keylist.kl_list, key)) != NULL);
static winreg_keylist_t winreg_keylist;