| /** |
| * @file flags_api.h |
| * @brief flags·ÖÇø½Ó¿Ú |
| * |
| * Copyright (C) 2023 Sanechips Technology Co., Ltd. |
| * @author |
| * @ingroup |
| * |
| * This program is free software; you can redistribute it and/or modify |
| * it under the terms of the GNU General Public License version 2 as |
| * published by the Free Software Foundation. £¨±ØÑ¡£ºGPLv2 Licence£© |
| * |
| */ |
| |
| |
| #ifndef FLAGS_API_H |
| #define FLAGS_API_H |
| |
| |
| /******************************************************************************* |
| * Include header files * |
| ******************************************************************************/ |
| #include "pub_flags.h" |
| |
| |
| /******************************************************************************* |
| * Macro definitions * |
| ******************************************************************************/ |
| |
| |
| /******************************************************************************* |
| * Type definitions * |
| ******************************************************************************/ |
| |
| |
| /******************************************************************************* |
| * Global variable declarations * |
| ******************************************************************************/ |
| |
| |
| /******************************************************************************* |
| * Global function declarations * |
| ******************************************************************************/ |
| /** |
| * @brief ³õʼ»¯flags·ÖÇø |
| * @param[out] p_flags_info flags³õʼ»¯Êý¾Ý |
| * @return 0 ³õʼ»¯³É¹¦, -1 ³õʼ»¯Ê§°Ü |
| * @note |
| */ |
| int flags_init(); |
| |
| |
| /** |
| * @brief »ñÈ¡flags·ÖÇøÄÚÈÝ |
| * @param[out] p_flags_info flags·ÖÇøÄÚÈÝ |
| * @return 0 »ñÈ¡³É¹¦, -1 »ñȡʧ°Ü |
| * @note |
| */ |
| int flags_get(T_FLAGS_INFO *p_flags_info); |
| |
| |
| /** |
| * @brief ÉèÖÃflags·ÖÇøÄÚÈÝ |
| * @param[in] p_flags_info flags·ÖÇøÄÚÈÝ |
| * @return 0 ÉèÖóɹ¦, -1 ÉèÖÃʧ°Ü |
| * @note |
| */ |
| int flags_set(T_FLAGS_INFO *p_flags_info); |
| |
| |
| /** |
| * @brief »ñÈ¡flags·ÖÇøÖÐubifs״̬ |
| * @param[out] status ubifs״̬ |
| * @return 0 »ñÈ¡³É¹¦, -1 »ñȡʧ°Ü |
| * @note |
| */ |
| int flags_get_ubifs_status(T_UBIFS_STATUS *p_ubifs_status); |
| |
| |
| /** |
| * @brief ÉèÖÃflags·ÖÇøÖÐubifs״̬ |
| * @param[in] status ubifs״̬ |
| * @return 0 ÉèÖóɹ¦, -1 ÉèÖÃʧ°Ü |
| * @note |
| */ |
| int flags_set_ubifs_status(T_UBIFS_STATUS *p_ubifs_status); |
| |
| |
| /** |
| * @brief »ñÈ¡µ±Ç°ÏµÍ³ |
| * @return µ±Ç°ÔËÐÐϵͳ |
| * @note |
| */ |
| int flags_get_current_system(); |
| |
| /** |
| * @brief »ñÈ¡flags·ÖÇøÖÐnvro_flag״̬ |
| * @param[out] |
| * @return nvro_flag |
| * @note |
| */ |
| unsigned int flags_get_nvroflag(void); |
| |
| /** |
| * @brief ÉèÖÃflags·ÖÇøÖÐnvro_flag |
| * @param[in] flag nvro״̬ |
| * @return 0 ÉèÖóɹ¦, -1 ÉèÖÃʧ°Ü |
| * @note |
| */ |
| int flags_set_nvroflag(unsigned int flag); |
| |
| |
| /** |
| * @brief »ñÈ¡flags·ÖÇøÄÚÈÝ(ÎÞCRC) |
| * @param[out] p_flags_info flags·ÖÇøÄÚÈÝ |
| * @return 0 »ñÈ¡³É¹¦, -1 »ñȡʧ°Ü |
| * @note ´ËAPI½öÓÃÓÚµ÷²â£¬Õýʽ´úÂë²»¿ÉʹÓà |
| |
| */ |
| int flags_get_nocrc(T_FLAGS_INFO *p_flags_info); |
| |
| |
| /** |
| * @brief ÉèÖÃflags·ÖÇøÄÚÈÝ(ÎÞCRC) |
| * @param[in] p_flags_info flags·ÖÇøÄÚÈÝ |
| * @return 0 ÉèÖóɹ¦, -1 ÉèÖÃʧ°Ü |
| * @note ´ËAPI½öÓÃÓÚµ÷²â£¬Õýʽ´úÂë²»¿ÉʹÓà |
| */ |
| int flags_set_nocrc(T_FLAGS_INFO *p_flags_info); |
| |
| |
| /** |
| * @brief ³õʼ»¯CRC32Âë±í(С¶Ë) |
| * @param ÎÞ |
| * @return ÎÞ |
| * @note |
| */ |
| void crc32init_le(void); |
| |
| |
| /** |
| * @brief ¼ÆËãCRC32УÑéÂë(С¶Ë) |
| * @param[in] crc ³õʼֵ |
| * @param[in] p ÐèÒª¼ÆËãCRC32УÑéÂëµÄÊý¾ÝbufferÖ¸Õë |
| * @param[in] len buffer @pµÄ´óС |
| * @return ¼ÆËãËùµÃµÄCRC32УÑéÂë |
| * @note |
| */ |
| unsigned int crc32_le(unsigned int crc, unsigned char const *p, size_t len); |
| |
| |
| #endif // FLAGS_API_H |
| |