1
mirror of https://github.com/DarkFlippers/unleashed-firmware.git synced 2025-12-12 04:34:43 +04:00

libs: stricter constness for saving RAM with .rodata section; fbt: sdk: fixed signature generation for nested const params

This commit is contained in:
hedger
2025-02-22 16:05:56 +00:00
parent ef024e8086
commit b0835220ac
30 changed files with 57 additions and 57 deletions

View File

@@ -424,7 +424,7 @@ void cli_delete_command(Cli* cli, const char* name) {
furi_string_free(name_str);
}
void cli_session_open(Cli* cli, void* session) {
void cli_session_open(Cli* cli, const void* session) {
furi_check(cli);
furi_check(furi_mutex_acquire(cli->mutex, FuriWaitForever) == FuriStatusOk);

View File

@@ -123,7 +123,7 @@ char cli_getc(Cli* cli);
*/
void cli_nl(Cli* cli);
void cli_session_open(Cli* cli, void* session);
void cli_session_open(Cli* cli, const void* session);
void cli_session_close(Cli* cli);

View File

@@ -50,7 +50,7 @@ struct Cli {
FuriSemaphore* idle_sem;
FuriString* last_line;
FuriString* line;
CliSession* session;
const CliSession* session;
size_t cursor_position;
};

View File

@@ -312,7 +312,7 @@ static bool cli_vcp_is_connected(void) {
return vcp->connected;
}
CliSession cli_vcp = {
const CliSession cli_vcp = {
cli_vcp_init,
cli_vcp_deinit,
cli_vcp_rx,

View File

@@ -11,7 +11,7 @@ extern "C" {
typedef struct CliSession CliSession;
extern CliSession cli_vcp;
extern const CliSession cli_vcp;
#ifdef __cplusplus
}

View File

@@ -6,7 +6,7 @@
#include "protocol_ds1971.h"
#include "protocol_ds_generic.h"
const iButtonProtocolDallasBase* ibutton_protocols_dallas[] = {
const iButtonProtocolDallasBase* const ibutton_protocols_dallas[] = {
[iButtonProtocolDS1990] = &ibutton_protocol_ds1990,
[iButtonProtocolDS1992] = &ibutton_protocol_ds1992,
[iButtonProtocolDS1996] = &ibutton_protocol_ds1996,

View File

@@ -14,4 +14,4 @@ typedef enum {
iButtonProtocolDSMax,
} iButtonProtocolDallas;
extern const iButtonProtocolDallasBase* ibutton_protocols_dallas[];
extern const iButtonProtocolDallasBase* const ibutton_protocols_dallas[];

View File

@@ -3,7 +3,7 @@
#include "protocol_cyfral.h"
#include "protocol_metakom.h"
const ProtocolBase* ibutton_protocols_misc[] = {
const ProtocolBase* const ibutton_protocols_misc[] = {
[iButtonProtocolMiscCyfral] = &ibutton_protocol_misc_cyfral,
[iButtonProtocolMiscMetakom] = &ibutton_protocol_misc_metakom,
/* Add new misc protocols here */

View File

@@ -8,4 +8,4 @@ typedef enum {
iButtonProtocolMiscMax,
} iButtonProtocolMisc;
extern const ProtocolBase* ibutton_protocols_misc[];
extern const ProtocolBase* const ibutton_protocols_misc[];

View File

@@ -3,7 +3,7 @@
#include "dallas/protocol_group_dallas.h"
#include "misc/protocol_group_misc.h"
const iButtonProtocolGroupBase* ibutton_protocol_groups[] = {
const iButtonProtocolGroupBase* const ibutton_protocol_groups[] = {
[iButtonProtocolGroupDallas] = &ibutton_protocol_group_dallas,
[iButtonProtocolGroupMisc] = &ibutton_protocol_group_misc,
};

View File

@@ -8,4 +8,4 @@ typedef enum {
iButtonProtocolGroupMax
} iButtonProtocolGroup;
extern const iButtonProtocolGroupBase* ibutton_protocol_groups[];
extern const iButtonProtocolGroupBase* const ibutton_protocol_groups[];

View File

@@ -22,7 +22,7 @@
#include "protocol_gproxii.h"
#include "protocol_noralsy.h"
const ProtocolBase* lfrfid_protocols[] = {
const ProtocolBase* const lfrfid_protocols[] = {
[LFRFIDProtocolEM4100] = &protocol_em4100,
[LFRFIDProtocolEM410032] = &protocol_em4100_32,
[LFRFIDProtocolEM410016] = &protocol_em4100_16,

View File

@@ -37,7 +37,7 @@ typedef enum {
LFRFIDProtocolMax,
} LFRFIDProtocol;
extern const ProtocolBase* lfrfid_protocols[];
extern const ProtocolBase* const lfrfid_protocols[];
typedef enum {
LFRFIDWriteTypeT5577,

View File

@@ -21,7 +21,7 @@ typedef struct {
uint8_t chk;
} ProtocolNexwatchMagic;
ProtocolNexwatchMagic magic_items[] = {
static ProtocolNexwatchMagic magic_items[] = {
{0xBE, "Quadrakey", 0},
{0x88, "Nexkey", 0},
{0x86, "Honeywell", 0}};

View File

@@ -19,7 +19,7 @@ typedef struct {
uint8_t cmd_start_byte;
size_t cmd_len_bits;
size_t command_num;
MfClassicListenerCommandHandler* handler;
const MfClassicListenerCommandHandler* handler;
} MfClassicListenerCmd;
static void mf_classic_listener_prepare_emulation(MfClassicListener* instance) {
@@ -441,42 +441,42 @@ static MfClassicListenerCommand
return command;
}
static MfClassicListenerCommandHandler mf_classic_listener_halt_handlers[] = {
static const MfClassicListenerCommandHandler mf_classic_listener_halt_handlers[] = {
mf_classic_listener_halt_handler,
};
static MfClassicListenerCommandHandler mf_classic_listener_auth_key_a_handlers[] = {
static const MfClassicListenerCommandHandler mf_classic_listener_auth_key_a_handlers[] = {
mf_classic_listener_auth_key_a_handler,
mf_classic_listener_auth_second_part_handler,
};
static MfClassicListenerCommandHandler mf_classic_listener_auth_key_b_handlers[] = {
static const MfClassicListenerCommandHandler mf_classic_listener_auth_key_b_handlers[] = {
mf_classic_listener_auth_key_b_handler,
mf_classic_listener_auth_second_part_handler,
};
static MfClassicListenerCommandHandler mf_classic_listener_read_block_handlers[] = {
static const MfClassicListenerCommandHandler mf_classic_listener_read_block_handlers[] = {
mf_classic_listener_read_block_handler,
};
static MfClassicListenerCommandHandler mf_classic_listener_write_block_handlers[] = {
static const MfClassicListenerCommandHandler mf_classic_listener_write_block_handlers[] = {
mf_classic_listener_write_block_first_part_handler,
mf_classic_listener_write_block_second_part_handler,
};
static MfClassicListenerCommandHandler mf_classic_listener_value_dec_handlers[] = {
static const MfClassicListenerCommandHandler mf_classic_listener_value_dec_handlers[] = {
mf_classic_listener_value_dec_handler,
mf_classic_listener_value_data_receive_handler,
mf_classic_listener_value_transfer_handler,
};
static MfClassicListenerCommandHandler mf_classic_listener_value_inc_handlers[] = {
static const MfClassicListenerCommandHandler mf_classic_listener_value_inc_handlers[] = {
mf_classic_listener_value_inc_handler,
mf_classic_listener_value_data_receive_handler,
mf_classic_listener_value_transfer_handler,
};
static MfClassicListenerCommandHandler mf_classic_listener_value_restore_handlers[] = {
static const MfClassicListenerCommandHandler mf_classic_listener_value_restore_handlers[] = {
mf_classic_listener_value_restore_handler,
mf_classic_listener_value_data_receive_handler,
mf_classic_listener_value_transfer_handler,

View File

@@ -31,7 +31,7 @@
* When implementing a new protocol, add its implementation
* here under its own index defined in nfc_protocol.h.
*/
const NfcDeviceBase* nfc_devices[NfcProtocolNum] = {
const NfcDeviceBase* const nfc_devices[NfcProtocolNum] = {
[NfcProtocolIso14443_3a] = &nfc_device_iso14443_3a,
[NfcProtocolIso14443_3b] = &nfc_device_iso14443_3b,
[NfcProtocolIso14443_4a] = &nfc_device_iso14443_4a,

View File

@@ -6,7 +6,7 @@
extern "C" {
#endif
extern const NfcDeviceBase* nfc_devices[];
extern const NfcDeviceBase* const nfc_devices[];
#ifdef __cplusplus
}

View File

@@ -8,7 +8,7 @@
#include <nfc/protocols/slix/slix_listener_defs.h>
#include <nfc/protocols/felica/felica_listener_defs.h>
const NfcListenerBase* nfc_listeners_api[NfcProtocolNum] = {
const NfcListenerBase* const nfc_listeners_api[NfcProtocolNum] = {
[NfcProtocolIso14443_3a] = &nfc_listener_iso14443_3a,
[NfcProtocolIso14443_3b] = NULL,
[NfcProtocolIso14443_4a] = &nfc_listener_iso14443_4a,

View File

@@ -7,7 +7,7 @@
extern "C" {
#endif
extern const NfcListenerBase* nfc_listeners_api[NfcProtocolNum];
extern const NfcListenerBase* const nfc_listeners_api[NfcProtocolNum];
#ifdef __cplusplus
}

View File

@@ -13,7 +13,7 @@
#include <nfc/protocols/slix/slix_poller_defs.h>
#include <nfc/protocols/st25tb/st25tb_poller_defs.h>
const NfcPollerBase* nfc_pollers_api[NfcProtocolNum] = {
const NfcPollerBase* const nfc_pollers_api[NfcProtocolNum] = {
[NfcProtocolIso14443_3a] = &nfc_poller_iso14443_3a,
[NfcProtocolIso14443_3b] = &nfc_poller_iso14443_3b,
[NfcProtocolIso14443_4a] = &nfc_poller_iso14443_4a,

View File

@@ -7,7 +7,7 @@
extern "C" {
#endif
extern const NfcPollerBase* nfc_pollers_api[NfcProtocolNum];
extern const NfcPollerBase* const nfc_pollers_api[NfcProtocolNum];
#ifdef __cplusplus
}

View File

@@ -1,6 +1,6 @@
#include "protocol_items.h" // IWYU pragma: keep
const SubGhzProtocol* subghz_protocol_registry_items[] = {
const SubGhzProtocol* const subghz_protocol_registry_items[] = {
&subghz_protocol_gate_tx,
&subghz_protocol_keeloq,
&subghz_protocol_star_line,

View File

@@ -12,7 +12,7 @@ typedef struct SubGhzProtocolRegistry SubGhzProtocolRegistry;
typedef struct SubGhzProtocol SubGhzProtocol;
struct SubGhzProtocolRegistry {
const SubGhzProtocol** items;
const SubGhzProtocol* const* items;
const size_t size;
};

View File

@@ -2,12 +2,12 @@
#include "protocol_dict.h"
struct ProtocolDict {
const ProtocolBase** base;
const ProtocolBase* const* base;
size_t count;
void* data[];
};
ProtocolDict* protocol_dict_alloc(const ProtocolBase** protocols, size_t count) {
ProtocolDict* protocol_dict_alloc(const ProtocolBase* const* protocols, size_t count) {
furi_check(protocols);
ProtocolDict* dict = malloc(sizeof(ProtocolDict) + (sizeof(void*) * count));

View File

@@ -12,7 +12,7 @@ typedef int32_t ProtocolId;
#define PROTOCOL_NO (-1)
#define PROTOCOL_ALL_FEATURES (0xFFFFFFFF)
ProtocolDict* protocol_dict_alloc(const ProtocolBase** protocols, size_t protocol_count);
ProtocolDict* protocol_dict_alloc(const ProtocolBase* const* protocols, size_t protocol_count);
void protocol_dict_free(ProtocolDict* dict);

View File

@@ -113,7 +113,7 @@ def stringify_descr(type_descr):
# Hack
if isinstance(type_descr.ptr_to, FunctionType):
return stringify_descr(type_descr.ptr_to)
return f"{stringify_descr(type_descr.ptr_to)}*"
return f"{stringify_descr(type_descr.ptr_to)}*{' const' if type_descr.const else ''}"
elif isinstance(type_descr, Type):
return (
f"{'const ' if type_descr.const else ''}"

View File

@@ -1,5 +1,5 @@
entry,status,name,type,params
Version,+,82.0,,
Version,+,83.0,,
Header,+,applications/services/bt/bt_service/bt.h,,
Header,+,applications/services/bt/bt_service/bt_keys_storage.h,,
Header,+,applications/services/cli/cli.h,,
@@ -785,7 +785,7 @@ Function,+,cli_print_usage,void,"const char*, const char*, const char*"
Function,+,cli_read,size_t,"Cli*, uint8_t*, size_t"
Function,+,cli_read_timeout,size_t,"Cli*, uint8_t*, size_t, uint32_t"
Function,+,cli_session_close,void,Cli*
Function,+,cli_session_open,void,"Cli*, void*"
Function,+,cli_session_open,void,"Cli*, const void*"
Function,+,cli_write,void,"Cli*, const uint8_t*, size_t"
Function,+,composite_api_resolver_add,void,"CompositeApiResolver*, const ElfApiInterface*"
Function,+,composite_api_resolver_alloc,CompositeApiResolver*,
@@ -1733,7 +1733,7 @@ Function,-,getchar,int,
Function,-,getchar_unlocked,int,
Function,-,getenv,char*,const char*
Function,-,gets,char*,char*
Function,-,getsubopt,int,"char**, char**, char**"
Function,-,getsubopt,int,"char**, char* const*, char**"
Function,-,getw,int,FILE*
Function,+,gui_add_framebuffer_callback,void,"Gui*, GuiCanvasCommitCallback, void*"
Function,+,gui_add_view_port,void,"Gui*, ViewPort*, GuiLayer"
@@ -2361,19 +2361,19 @@ Function,-,pow,double,"double, double"
Function,-,pow10,double,double
Function,-,pow10f,float,float
Function,+,power_enable_low_battery_level_notification,void,"Power*, _Bool"
Function,+,power_enable_otg,void,"Power*, _Bool"
Function,+,power_get_info,void,"Power*, PowerInfo*"
Function,+,power_get_pubsub,FuriPubSub*,Power*
Function,+,power_is_battery_healthy,_Bool,Power*
Function,+,power_is_otg_enabled,_Bool,Power*
Function,+,power_off,void,Power*
Function,+,power_reboot,void,"Power*, PowerBootMode"
Function,+,power_enable_otg,void,"Power*, _Bool"
Function,+,powf,float,"float, float"
Function,-,powl,long double,"long double, long double"
Function,+,pretty_format_bytes_hex_canonical,void,"FuriString*, size_t, const char*, const uint8_t*, size_t"
Function,-,printf,int,"const char*, ..."
Function,+,property_value_out,void,"PropertyValueContext*, const char*, unsigned int, ..."
Function,+,protocol_dict_alloc,ProtocolDict*,"const ProtocolBase**, size_t"
Function,+,protocol_dict_alloc,ProtocolDict*,"const ProtocolBase* const*, size_t"
Function,+,protocol_dict_decoders_feed,ProtocolId,"ProtocolDict*, _Bool, uint32_t"
Function,+,protocol_dict_decoders_feed_by_feature,ProtocolId,"ProtocolDict*, uint32_t, _Bool, uint32_t"
Function,+,protocol_dict_decoders_feed_by_id,ProtocolId,"ProtocolDict*, size_t, _Bool, uint32_t"
@@ -2932,13 +2932,13 @@ Variable,-,__stdio_exit_handler,void (*)(),
Variable,+,_ctype_,const char[],
Variable,+,_impure_data,_reent,
Variable,+,_impure_ptr,_reent*,
Variable,-,_sys_errlist,const char*[],
Variable,-,_sys_errlist,const char* const[],
Variable,-,_sys_nerr,int,
Variable,-,ble_profile_hid,const FuriHalBleProfileTemplate*,
Variable,-,ble_profile_serial,const FuriHalBleProfileTemplate*,
Variable,+,cli_vcp,CliSession,
Variable,+,cli_vcp,const CliSession,
Variable,+,compress_config_heatshrink_default,const CompressConfigHeatshrink,
Variable,+,firmware_api_interface,const ElfApiInterface*,
Variable,+,firmware_api_interface,const ElfApiInterface* const,
Variable,+,furi_hal_i2c_bus_external,FuriHalI2cBus,
Variable,+,furi_hal_i2c_bus_power,FuriHalI2cBus,
Variable,+,furi_hal_i2c_handle_external,FuriHalI2cBusHandle,
@@ -3208,5 +3208,5 @@ Variable,+,usb_ccid,FuriHalUsbInterface,
Variable,+,usb_cdc_dual,FuriHalUsbInterface,
Variable,+,usb_cdc_single,FuriHalUsbInterface,
Variable,+,usb_hid,FuriHalUsbInterface,
Variable,+,usb_hid_u2f,FuriHalUsbInterface,
Variable,+,usb_hid_u2f,const FuriHalUsbInterface,
Variable,+,usbd_devfs,const usbd_driver,
1 entry status name type params
2 Version + 82.0 83.0
3 Header + applications/services/bt/bt_service/bt.h
4 Header + applications/services/bt/bt_service/bt_keys_storage.h
5 Header + applications/services/cli/cli.h
785 Function + cli_read size_t Cli*, uint8_t*, size_t
786 Function + cli_read_timeout size_t Cli*, uint8_t*, size_t, uint32_t
787 Function + cli_session_close void Cli*
788 Function + cli_session_open void Cli*, void* Cli*, const void*
789 Function + cli_write void Cli*, const uint8_t*, size_t
790 Function + composite_api_resolver_add void CompositeApiResolver*, const ElfApiInterface*
791 Function + composite_api_resolver_alloc CompositeApiResolver*
1733 Function - getchar_unlocked int
1734 Function - getenv char* const char*
1735 Function - gets char* char*
1736 Function - getsubopt int char**, char**, char** char**, char* const*, char**
1737 Function - getw int FILE*
1738 Function + gui_add_framebuffer_callback void Gui*, GuiCanvasCommitCallback, void*
1739 Function + gui_add_view_port void Gui*, ViewPort*, GuiLayer
2361 Function - pow10 double double
2362 Function - pow10f float float
2363 Function + power_enable_low_battery_level_notification void Power*, _Bool
2364 Function + power_enable_otg void Power*, _Bool
2365 Function + power_get_info void Power*, PowerInfo*
2366 Function + power_get_pubsub FuriPubSub* Power*
2367 Function + power_is_battery_healthy _Bool Power*
2368 Function + power_is_otg_enabled _Bool Power*
2369 Function + power_off void Power*
2370 Function + power_reboot void Power*, PowerBootMode
Function + power_enable_otg void Power*, _Bool
2371 Function + powf float float, float
2372 Function - powl long double long double, long double
2373 Function + pretty_format_bytes_hex_canonical void FuriString*, size_t, const char*, const uint8_t*, size_t
2374 Function - printf int const char*, ...
2375 Function + property_value_out void PropertyValueContext*, const char*, unsigned int, ...
2376 Function + protocol_dict_alloc ProtocolDict* const ProtocolBase**, size_t const ProtocolBase* const*, size_t
2377 Function + protocol_dict_decoders_feed ProtocolId ProtocolDict*, _Bool, uint32_t
2378 Function + protocol_dict_decoders_feed_by_feature ProtocolId ProtocolDict*, uint32_t, _Bool, uint32_t
2379 Function + protocol_dict_decoders_feed_by_id ProtocolId ProtocolDict*, size_t, _Bool, uint32_t
2932 Variable + _ctype_ const char[]
2933 Variable + _impure_data _reent
2934 Variable + _impure_ptr _reent*
2935 Variable - _sys_errlist const char*[] const char* const[]
2936 Variable - _sys_nerr int
2937 Variable - ble_profile_hid const FuriHalBleProfileTemplate*
2938 Variable - ble_profile_serial const FuriHalBleProfileTemplate*
2939 Variable + cli_vcp CliSession const CliSession
2940 Variable + compress_config_heatshrink_default const CompressConfigHeatshrink
2941 Variable + firmware_api_interface const ElfApiInterface* const ElfApiInterface* const
2942 Variable + furi_hal_i2c_bus_external FuriHalI2cBus
2943 Variable + furi_hal_i2c_bus_power FuriHalI2cBus
2944 Variable + furi_hal_i2c_handle_external FuriHalI2cBusHandle
3208 Variable + usb_cdc_dual FuriHalUsbInterface
3209 Variable + usb_cdc_single FuriHalUsbInterface
3210 Variable + usb_hid FuriHalUsbInterface
3211 Variable + usb_hid_u2f FuriHalUsbInterface const FuriHalUsbInterface
3212 Variable + usbd_devfs const usbd_driver

View File

@@ -1,5 +1,5 @@
entry,status,name,type,params
Version,+,82.0,,
Version,+,83.0,,
Header,+,applications/drivers/subghz/cc1101_ext/cc1101_ext_interconnect.h,,
Header,+,applications/services/bt/bt_service/bt.h,,
Header,+,applications/services/bt/bt_service/bt_keys_storage.h,,
@@ -862,7 +862,7 @@ Function,+,cli_print_usage,void,"const char*, const char*, const char*"
Function,+,cli_read,size_t,"Cli*, uint8_t*, size_t"
Function,+,cli_read_timeout,size_t,"Cli*, uint8_t*, size_t, uint32_t"
Function,+,cli_session_close,void,Cli*
Function,+,cli_session_open,void,"Cli*, void*"
Function,+,cli_session_open,void,"Cli*, const void*"
Function,+,cli_write,void,"Cli*, const uint8_t*, size_t"
Function,+,composite_api_resolver_add,void,"CompositeApiResolver*, const ElfApiInterface*"
Function,+,composite_api_resolver_alloc,CompositeApiResolver*,
@@ -1953,7 +1953,7 @@ Function,-,getchar,int,
Function,-,getchar_unlocked,int,
Function,-,getenv,char*,const char*
Function,-,gets,char*,char*
Function,-,getsubopt,int,"char**, char**, char**"
Function,-,getsubopt,int,"char**, char* const*, char**"
Function,-,getw,int,FILE*
Function,+,gui_add_framebuffer_callback,void,"Gui*, GuiCanvasCommitCallback, void*"
Function,+,gui_add_view_port,void,"Gui*, ViewPort*, GuiLayer"
@@ -2655,7 +2655,7 @@ Function,+,mf_ultralight_3des_decrypt,void,"mbedtls_des3_context*, const uint8_t
Function,+,mf_ultralight_3des_encrypt,void,"mbedtls_des3_context*, const uint8_t*, const uint8_t*, const uint8_t*, const uint8_t, uint8_t*"
Function,+,mf_ultralight_3des_get_key,const uint8_t*,const MfUltralightData*
Function,+,mf_ultralight_3des_key_valid,_Bool,const MfUltralightData*
Function,+,mf_ultralight_3des_shift_data,void,uint8_t*
Function,+,mf_ultralight_3des_shift_data,void,uint8_t* const
Function,+,mf_ultralight_alloc,MfUltralightData*,
Function,+,mf_ultralight_copy,void,"MfUltralightData*, const MfUltralightData*"
Function,+,mf_ultralight_detect_protocol,_Bool,const Iso14443_3aData*
@@ -2998,19 +2998,19 @@ Function,-,pow,double,"double, double"
Function,-,pow10,double,double
Function,-,pow10f,float,float
Function,+,power_enable_low_battery_level_notification,void,"Power*, _Bool"
Function,+,power_enable_otg,void,"Power*, _Bool"
Function,+,power_get_info,void,"Power*, PowerInfo*"
Function,+,power_get_pubsub,FuriPubSub*,Power*
Function,+,power_is_battery_healthy,_Bool,Power*
Function,+,power_is_otg_enabled,_Bool,Power*
Function,+,power_off,void,Power*
Function,+,power_reboot,void,"Power*, PowerBootMode"
Function,+,power_enable_otg,void,"Power*, _Bool"
Function,+,powf,float,"float, float"
Function,-,powl,long double,"long double, long double"
Function,+,pretty_format_bytes_hex_canonical,void,"FuriString*, size_t, const char*, const uint8_t*, size_t"
Function,-,printf,int,"const char*, ..."
Function,+,property_value_out,void,"PropertyValueContext*, const char*, unsigned int, ..."
Function,+,protocol_dict_alloc,ProtocolDict*,"const ProtocolBase**, size_t"
Function,+,protocol_dict_alloc,ProtocolDict*,"const ProtocolBase* const*, size_t"
Function,+,protocol_dict_decoders_feed,ProtocolId,"ProtocolDict*, _Bool, uint32_t"
Function,+,protocol_dict_decoders_feed_by_feature,ProtocolId,"ProtocolDict*, uint32_t, _Bool, uint32_t"
Function,+,protocol_dict_decoders_feed_by_id,ProtocolId,"ProtocolDict*, size_t, _Bool, uint32_t"
@@ -3783,13 +3783,13 @@ Variable,-,__stdio_exit_handler,void (*)(),
Variable,+,_ctype_,const char[],
Variable,+,_impure_data,_reent,
Variable,+,_impure_ptr,_reent*,
Variable,-,_sys_errlist,const char*[],
Variable,-,_sys_errlist,const char* const[],
Variable,-,_sys_nerr,int,
Variable,-,ble_profile_hid,const FuriHalBleProfileTemplate*,
Variable,-,ble_profile_serial,const FuriHalBleProfileTemplate*,
Variable,+,cli_vcp,CliSession,
Variable,+,cli_vcp,const CliSession,
Variable,+,compress_config_heatshrink_default,const CompressConfigHeatshrink,
Variable,+,firmware_api_interface,const ElfApiInterface*,
Variable,+,firmware_api_interface,const ElfApiInterface* const,
Variable,+,furi_hal_i2c_bus_external,FuriHalI2cBus,
Variable,+,furi_hal_i2c_bus_power,FuriHalI2cBus,
Variable,+,furi_hal_i2c_handle_external,FuriHalI2cBusHandle,
@@ -3858,7 +3858,7 @@ Variable,+,gpio_usb_dp,const GpioPin,
Variable,+,gpio_vibro,const GpioPin,
Variable,+,input_pins,const InputPin[],
Variable,+,input_pins_count,const size_t,
Variable,+,lfrfid_protocols,const ProtocolBase*[],
Variable,+,lfrfid_protocols,const ProtocolBase* const[],
Variable,+,message_blink_set_color_blue,const NotificationMessage,
Variable,+,message_blink_set_color_cyan,const NotificationMessage,
Variable,+,message_blink_set_color_green,const NotificationMessage,
@@ -4079,5 +4079,5 @@ Variable,+,usb_ccid,FuriHalUsbInterface,
Variable,+,usb_cdc_dual,FuriHalUsbInterface,
Variable,+,usb_cdc_single,FuriHalUsbInterface,
Variable,+,usb_hid,FuriHalUsbInterface,
Variable,+,usb_hid_u2f,FuriHalUsbInterface,
Variable,+,usb_hid_u2f,const FuriHalUsbInterface,
Variable,+,usbd_devfs,const usbd_driver,
1 entry status name type params
2 Version + 82.0 83.0
3 Header + applications/drivers/subghz/cc1101_ext/cc1101_ext_interconnect.h
4 Header + applications/services/bt/bt_service/bt.h
5 Header + applications/services/bt/bt_service/bt_keys_storage.h
862 Function + cli_read size_t Cli*, uint8_t*, size_t
863 Function + cli_read_timeout size_t Cli*, uint8_t*, size_t, uint32_t
864 Function + cli_session_close void Cli*
865 Function + cli_session_open void Cli*, void* Cli*, const void*
866 Function + cli_write void Cli*, const uint8_t*, size_t
867 Function + composite_api_resolver_add void CompositeApiResolver*, const ElfApiInterface*
868 Function + composite_api_resolver_alloc CompositeApiResolver*
1953 Function - getchar_unlocked int
1954 Function - getenv char* const char*
1955 Function - gets char* char*
1956 Function - getsubopt int char**, char**, char** char**, char* const*, char**
1957 Function - getw int FILE*
1958 Function + gui_add_framebuffer_callback void Gui*, GuiCanvasCommitCallback, void*
1959 Function + gui_add_view_port void Gui*, ViewPort*, GuiLayer
2655 Function + mf_ultralight_3des_encrypt void mbedtls_des3_context*, const uint8_t*, const uint8_t*, const uint8_t*, const uint8_t, uint8_t*
2656 Function + mf_ultralight_3des_get_key const uint8_t* const MfUltralightData*
2657 Function + mf_ultralight_3des_key_valid _Bool const MfUltralightData*
2658 Function + mf_ultralight_3des_shift_data void uint8_t* uint8_t* const
2659 Function + mf_ultralight_alloc MfUltralightData*
2660 Function + mf_ultralight_copy void MfUltralightData*, const MfUltralightData*
2661 Function + mf_ultralight_detect_protocol _Bool const Iso14443_3aData*
2998 Function - pow10 double double
2999 Function - pow10f float float
3000 Function + power_enable_low_battery_level_notification void Power*, _Bool
3001 Function + power_enable_otg void Power*, _Bool
3002 Function + power_get_info void Power*, PowerInfo*
3003 Function + power_get_pubsub FuriPubSub* Power*
3004 Function + power_is_battery_healthy _Bool Power*
3005 Function + power_is_otg_enabled _Bool Power*
3006 Function + power_off void Power*
3007 Function + power_reboot void Power*, PowerBootMode
Function + power_enable_otg void Power*, _Bool
3008 Function + powf float float, float
3009 Function - powl long double long double, long double
3010 Function + pretty_format_bytes_hex_canonical void FuriString*, size_t, const char*, const uint8_t*, size_t
3011 Function - printf int const char*, ...
3012 Function + property_value_out void PropertyValueContext*, const char*, unsigned int, ...
3013 Function + protocol_dict_alloc ProtocolDict* const ProtocolBase**, size_t const ProtocolBase* const*, size_t
3014 Function + protocol_dict_decoders_feed ProtocolId ProtocolDict*, _Bool, uint32_t
3015 Function + protocol_dict_decoders_feed_by_feature ProtocolId ProtocolDict*, uint32_t, _Bool, uint32_t
3016 Function + protocol_dict_decoders_feed_by_id ProtocolId ProtocolDict*, size_t, _Bool, uint32_t
3783 Variable + _ctype_ const char[]
3784 Variable + _impure_data _reent
3785 Variable + _impure_ptr _reent*
3786 Variable - _sys_errlist const char*[] const char* const[]
3787 Variable - _sys_nerr int
3788 Variable - ble_profile_hid const FuriHalBleProfileTemplate*
3789 Variable - ble_profile_serial const FuriHalBleProfileTemplate*
3790 Variable + cli_vcp CliSession const CliSession
3791 Variable + compress_config_heatshrink_default const CompressConfigHeatshrink
3792 Variable + firmware_api_interface const ElfApiInterface* const ElfApiInterface* const
3793 Variable + furi_hal_i2c_bus_external FuriHalI2cBus
3794 Variable + furi_hal_i2c_bus_power FuriHalI2cBus
3795 Variable + furi_hal_i2c_handle_external FuriHalI2cBusHandle
3858 Variable + gpio_vibro const GpioPin
3859 Variable + input_pins const InputPin[]
3860 Variable + input_pins_count const size_t
3861 Variable + lfrfid_protocols const ProtocolBase*[] const ProtocolBase* const[]
3862 Variable + message_blink_set_color_blue const NotificationMessage
3863 Variable + message_blink_set_color_cyan const NotificationMessage
3864 Variable + message_blink_set_color_green const NotificationMessage
4079 Variable + usb_cdc_dual FuriHalUsbInterface
4080 Variable + usb_cdc_single FuriHalUsbInterface
4081 Variable + usb_hid FuriHalUsbInterface
4082 Variable + usb_hid_u2f FuriHalUsbInterface const FuriHalUsbInterface
4083 Variable + usbd_devfs const usbd_driver

View File

@@ -174,7 +174,7 @@ void furi_hal_hid_u2f_set_callback(HidU2fCallback cb, void* ctx) {
}
}
FuriHalUsbInterface usb_hid_u2f = {
const FuriHalUsbInterface usb_hid_u2f = {
.init = hid_u2f_init,
.deinit = hid_u2f_deinit,
.wakeup = hid_u2f_on_wakeup,

View File

@@ -27,7 +27,7 @@ struct FuriHalUsbInterface {
extern FuriHalUsbInterface usb_cdc_single;
extern FuriHalUsbInterface usb_cdc_dual;
extern FuriHalUsbInterface usb_hid;
extern FuriHalUsbInterface usb_hid_u2f;
extern const FuriHalUsbInterface usb_hid_u2f;
extern FuriHalUsbInterface usb_ccid;
typedef enum {