prd_utils_kv_light.c 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. /*
  2. * Copyright (C) 2023 Alibaba Group Holding Limited
  3. */
  4. #include <stdio.h>
  5. #include <string.h>
  6. #include <prd_utils_kv.h>
  7. #include <prd_utils_internal.h>
  8. #include "uboot_env_params.h"
  9. #define CHECK_KEY_VALID(key) \
  10. do { \
  11. if (key == NULL || strlen(key) >= PRD_UTILS_KEY_MAX_LENGTH) \
  12. { \
  13. PRD_UTILS_LOG("key is NULL or key len > %d\n", PRD_UTILS_KEY_MAX_LENGTH); \
  14. return PRD_UTILS_RESULT_KV_INPUT_INVALID; \
  15. } \
  16. } while (0)
  17. #define CHECK_VAL_VALID(val) \
  18. do { \
  19. if (val == NULL || strlen(val) >= PRD_UTILS_VAL_MAX_LENGTH) \
  20. { \
  21. PRD_UTILS_LOG("val is NULL or val len > %d\n", PRD_UTILS_VAL_MAX_LENGTH); \
  22. return PRD_UTILS_RESULT_KV_INPUT_INVALID; \
  23. } \
  24. } while (0)
  25. int prd_utils_get_kv(char *key, char **value)
  26. {
  27. CHECK_KEY_VALID(key);
  28. return light_uboot_get_env(key, value);
  29. }
  30. int prd_utils_set_kv(char *key, char *value)
  31. {
  32. CHECK_KEY_VALID(key);
  33. CHECK_VAL_VALID(value);
  34. return light_uboot_set_env(key, value);
  35. }
  36. int prd_utils_clean_kv(char *key)
  37. {
  38. CHECK_KEY_VALID(key);
  39. return light_uboot_clean_env(key);
  40. }