mirror of
https://github.com/DarkFlippers/unleashed-firmware.git
synced 2025-10-11 01:02:32 +02:00
* libs: stricter constness for saving RAM with .rodata section; fbt: sdk: fixed signature generation for nested const params * hal: additional fixes for constness in USB subsystem * debug apps: additional usb-related fixes * mjs: more consts for token parser * fatfs: const driver struct * hal: more consts for ble & nfc vars * hal: made FuriHalSpiBusHandle static * hal: made FuriHalI2cBusHandle static * usb: restored previous api * linter fixes * API fixes
49 lines
1.2 KiB
C
49 lines
1.2 KiB
C
#pragma once
|
|
|
|
#include "types.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef struct SubGhzEnvironment SubGhzEnvironment;
|
|
|
|
typedef struct SubGhzProtocolRegistry SubGhzProtocolRegistry;
|
|
typedef struct SubGhzProtocol SubGhzProtocol;
|
|
|
|
struct SubGhzProtocolRegistry {
|
|
const SubGhzProtocol* const* items;
|
|
const size_t size;
|
|
};
|
|
|
|
/**
|
|
* Registration by name SubGhzProtocol.
|
|
* @param protocol_registry SubGhzProtocolRegistry
|
|
* @param name Protocol name
|
|
* @return SubGhzProtocol* pointer to a SubGhzProtocol instance
|
|
*/
|
|
const SubGhzProtocol* subghz_protocol_registry_get_by_name(
|
|
const SubGhzProtocolRegistry* protocol_registry,
|
|
const char* name);
|
|
|
|
/**
|
|
* Registration protocol by index in array SubGhzProtocol.
|
|
* @param protocol_registry SubGhzProtocolRegistry
|
|
* @param index Protocol by index in array
|
|
* @return SubGhzProtocol* pointer to a SubGhzProtocol instance
|
|
*/
|
|
const SubGhzProtocol* subghz_protocol_registry_get_by_index(
|
|
const SubGhzProtocolRegistry* protocol_registry,
|
|
size_t index);
|
|
|
|
/**
|
|
* Getting the number of registered protocols.
|
|
* @param protocol_registry SubGhzProtocolRegistry
|
|
* @return Number of protocols
|
|
*/
|
|
size_t subghz_protocol_registry_count(const SubGhzProtocolRegistry* protocol_registry);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|