env.h 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. #ifndef __ENV_H__
  2. #define __ENV_H__
  3. #ifdef CONFIG_MTK_EMMC_SUPPORT
  4. #include <linux/ioctl.h>
  5. #define CFG_ENV_SIZE 0x4000 /*16KB*/
  6. #define CFG_ENV_OFFSET 0x20000 /*128KB*/
  7. #define ENV_PART "PARA"
  8. struct env_struct {
  9. char sig_head[8];
  10. char *env_data;
  11. char sig_tail[8];
  12. int checksum;
  13. };
  14. #define ENV_MAGIC 'e'
  15. #define ENV_READ _IOW(ENV_MAGIC, 1, int)
  16. #define ENV_WRITE _IOW(ENV_MAGIC, 2, int)
  17. struct env_ioctl {
  18. char *name;
  19. int name_len;
  20. char *value;
  21. int value_len;
  22. };
  23. extern int set_env(char *name, char *value);
  24. extern char *get_env(const char *name);
  25. #else
  26. #include <linux/errno.h> /* error codes */
  27. #include <linux/types.h> /* size_t */
  28. #include <linux/proc_fs.h> /*proc*/
  29. #include <linux/ioctl.h> /*ioctl*/
  30. #include <linux/module.h>
  31. #define CFG_ENV_SIZE 0x4000 /* (16KB) */
  32. #define CFG_ENV_OFFSET 0x20000 /* (128KB) */
  33. #define CFG_ENV_DATA_SIZE (CFG_ENV_SIZE-sizeof(g_env.checksum)-sizeof(g_env.sig)-sizeof(g_env.sig_1))
  34. #define CFG_ENV_DATA_OFFSET (sizeof(g_env.sig))
  35. #define CFG_ENV_SIG_1_OFFSET (CFG_ENV_SIZE - sizeof(g_env.checksum)-sizeof(g_env.sig_1))
  36. #define CFG_ENV_CHECKSUM_OFFSET (CFG_ENV_SIZE - sizeof(g_env.checksum))
  37. #define ENV_PART PART_MISC
  38. #define ENV_SIG "ENV_v1"
  39. #define DATA_FREE_SIZE_TH_DEFAULT (50*1024*1024)
  40. #ifdef CONFIG_MTK_SHARED_SDCARD
  41. #define LIMIT_SDCARD_SIZE
  42. extern long long data_free_size_th;
  43. #endif
  44. typedef struct env_struct {
  45. char sig[8]; /* "ENV_v1" */
  46. char *env_data;
  47. char sig_1[8]; /* "ENV_v1" */
  48. int checksum; /* checksum for env_data */
  49. } env_t;
  50. #define ENV_MAGIC 'e'
  51. #define ENV_READ _IOW(ENV_MAGIC, 1, int)
  52. #define ENV_WRITE _IOW(ENV_MAGIC, 2, int)
  53. struct env_ioctl {
  54. char *name;
  55. int name_len;
  56. char *value;
  57. int value_len;
  58. };
  59. extern int set_env(char *name, char *value);
  60. extern char *get_env(char *name);
  61. #endif
  62. #endif