application_manifest.h 935 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #pragma once
  2. #include <stdint.h>
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6. #define FAP_MANIFEST_MAGIC 0x52474448
  7. #define FAP_MANIFEST_SUPPORTED_VERSION 1
  8. #define FAP_MANIFEST_MAX_APP_NAME_LENGTH 32
  9. #define FAP_MANIFEST_MAX_ICON_SIZE 32 // TODO: reduce size?
  10. #pragma pack(push, 1)
  11. typedef struct {
  12. uint32_t manifest_magic;
  13. uint32_t manifest_version;
  14. union {
  15. struct {
  16. uint16_t minor;
  17. uint16_t major;
  18. };
  19. uint32_t version;
  20. } api_version;
  21. uint16_t hardware_target_id;
  22. } FlipperApplicationManifestBase;
  23. typedef struct {
  24. FlipperApplicationManifestBase base;
  25. uint16_t stack_size;
  26. uint32_t app_version;
  27. char name[FAP_MANIFEST_MAX_APP_NAME_LENGTH];
  28. char has_icon;
  29. char icon[FAP_MANIFEST_MAX_ICON_SIZE];
  30. } FlipperApplicationManifestV1;
  31. typedef FlipperApplicationManifestV1 FlipperApplicationManifest;
  32. #pragma pack(pop)
  33. #ifdef __cplusplus
  34. }
  35. #endif