mf_classic_dict.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #pragma once
  2. #include <stdbool.h>
  3. #include <storage/storage.h>
  4. #include <lib/flipper_format/flipper_format.h>
  5. #include <lib/toolbox/stream/file_stream.h>
  6. #include <lib/toolbox/stream/buffered_file_stream.h>
  7. typedef enum {
  8. MfClassicDictTypeUser,
  9. MfClassicDictTypeFlipper,
  10. } MfClassicDictType;
  11. typedef struct MfClassicDict MfClassicDict;
  12. bool mf_classic_dict_check_presence(MfClassicDictType dict_type);
  13. MfClassicDict* mf_classic_dict_alloc(MfClassicDictType dict_type);
  14. void mf_classic_dict_free(MfClassicDict* dict);
  15. uint32_t mf_classic_dict_get_total_keys(MfClassicDict* dict);
  16. bool mf_classic_dict_rewind(MfClassicDict* dict);
  17. bool mf_classic_dict_is_key_present(MfClassicDict* dict, uint8_t* key);
  18. bool mf_classic_dict_is_key_present_str(MfClassicDict* dict, string_t key);
  19. bool mf_classic_dict_get_next_key(MfClassicDict* dict, uint64_t* key);
  20. bool mf_classic_dict_get_next_key_str(MfClassicDict* dict, string_t key);
  21. bool mf_classic_dict_get_key_at_index(MfClassicDict* dict, uint64_t* key, uint32_t target);
  22. bool mf_classic_dict_get_key_at_index_str(MfClassicDict* dict, string_t key, uint32_t target);
  23. bool mf_classic_dict_add_key(MfClassicDict* dict, uint8_t* key);
  24. bool mf_classic_dict_add_key_str(MfClassicDict* dict, string_t key);
  25. bool mf_classic_dict_find_index(MfClassicDict* dict, uint8_t* key, uint32_t* target);
  26. bool mf_classic_dict_find_index_str(MfClassicDict* dict, string_t key, uint32_t* target);
  27. bool mf_classic_dict_delete_index(MfClassicDict* dict, uint32_t target);