flipperzero-firmware/lib/flipper_application/application_manifest.h
SG b9a766d909 [FL-2627] Flipper applications: SDK, build and debug system (#1387)
* Added support for running applications from SD card (FAPs - Flipper Application Packages)
* Added plugin_dist target for fbt to build FAPs
* All apps of type FlipperAppType.EXTERNAL and FlipperAppType.PLUGIN are built as FAPs by default
* Updated VSCode configuration for new fbt features - re-deploy stock configuration to use them
* Added debugging support for FAPs with fbt debug & VSCode
* Added public firmware API with automated versioning

Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: SG <who.just.the.doctor@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2022-09-15 02:21:03 +09:00

46 lines
935 B
C

#pragma once
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
#define FAP_MANIFEST_MAGIC 0x52474448
#define FAP_MANIFEST_SUPPORTED_VERSION 1
#define FAP_MANIFEST_MAX_APP_NAME_LENGTH 32
#define FAP_MANIFEST_MAX_ICON_SIZE 32 // TODO: reduce size?
#pragma pack(push, 1)
typedef struct {
uint32_t manifest_magic;
uint32_t manifest_version;
union {
struct {
uint16_t minor;
uint16_t major;
};
uint32_t version;
} api_version;
uint16_t hardware_target_id;
} FlipperApplicationManifestBase;
typedef struct {
FlipperApplicationManifestBase base;
uint16_t stack_size;
uint32_t app_version;
char name[FAP_MANIFEST_MAX_APP_NAME_LENGTH];
char has_icon;
char icon[FAP_MANIFEST_MAX_ICON_SIZE];
} FlipperApplicationManifestV1;
typedef FlipperApplicationManifestV1 FlipperApplicationManifest;
#pragma pack(pop)
#ifdef __cplusplus
}
#endif