[Feature][ZXW-88]merge P50 version

Only Configure: No
Affected branch: master
Affected module: unknown
Is it affected on both ZXIC and MTK: only ZXIC
Self-test: Yes
Doc Update: No

Change-Id: I34667719d9e0e7e29e8e4368848601cde0a48408
diff --git a/ap/app/include/flags_api.h b/ap/app/include/flags_api.h
new file mode 100755
index 0000000..68ccdad
--- /dev/null
+++ b/ap/app/include/flags_api.h
@@ -0,0 +1,98 @@
+/**
+ * @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[out]  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();
+
+
+#endif // FLAGS_API_H
+