diff options
author | 2020-11-20 23:36:23 +0900 | |
---|---|---|
committer | 2020-11-22 09:02:55 +0900 | |
commit | 17cf21bcf8a2e29d2cbcf0a313474d2a4ee44f5d (patch) | |
tree | 582a9768558d9eaf261ca5df6136e9de54c95816 /nv_hal | |
parent | 9e86046cdb356913ae026f616e5bf17f6f238aa5 (diff) |
Re-organized sub-directory by category
Since all the sub-directories were placed in the
first level, created sub-directories, "hal", "module",
and "service" for classification and relocated each component.
Signed-off-by: Tadao Tanikawa <tanikawa.tadao@jp.panasonic.com>
Change-Id: Ifdf743ac0d1893bd8e445455cf0d2c199a011d5c
Diffstat (limited to 'nv_hal')
-rwxr-xr-x | nv_hal/LICENSE | 177 | ||||
-rwxr-xr-x | nv_hal/Makefile | 65 | ||||
-rwxr-xr-x | nv_hal/hal_api/nv_hal.h | 245 | ||||
-rwxr-xr-x | nv_hal/inc/nv_hal_nvhallog.h | 76 | ||||
-rwxr-xr-x | nv_hal/src/nv_hal.cpp | 242 |
5 files changed, 0 insertions, 805 deletions
diff --git a/nv_hal/LICENSE b/nv_hal/LICENSE deleted file mode 100755 index f433b1a..0000000 --- a/nv_hal/LICENSE +++ /dev/null @@ -1,177 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS diff --git a/nv_hal/Makefile b/nv_hal/Makefile deleted file mode 100755 index 2f2d89f..0000000 --- a/nv_hal/Makefile +++ /dev/null @@ -1,65 +0,0 @@ -# -# @copyright Copyright (c) 2018-2020 TOYOTA MOTOR CORPORATION. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -######### installed program/file ################ -TARGET := libnv_hal.so - -HEADER := hal_api/nv_hal.h - -######### include paths/files ################### -CXXFLAGS := -I./inc/ -CXXFLAGS += -I./hal_api/ -CXXFLAGS += -I$(SDKTARGETSYSROOT)/usr/agl/include -CXXFLAGS += -include $(SDKTARGETSYSROOT)/usr/agl/include/agl_types_obsoluted.h - -######### compile options ####################### -CXXFLAGS += -Wall -fPIC - -######### link options ########################## -LDFLAGS += -L$(SDKTARGETSYSROOT)/usr/agl/lib -LDFLAGS += -shared -LDFLAGS += -Wl,--no-as-needed -LDFLAGS += -Wl,--no-undefined - -RPATH := - -######### linked library ######################## -LIBS += -Wl,-Bdynamic -lNS_FrameworkUnified - -######### source files ########################## -VPATH := src -OBJS := nv_hal.o - -######### make targets ########################## -all: $(TARGET) - @echo $@ done. - -$(TARGET): $(OBJS) - $(CC) $(LDFLAGS) -Wl,-rpath=$(RPATH) $(OBJS) $(LIBS) -o $(TARGET) - @echo $@ done. - -######### make cleans ########################### -GCNO_FILES := $(filter %.gcno,$(OBJS:%.o=%.gcno)) - -clean: - rm -f $(OBJS) $(TARGET) $(GCNO_FILES) - @echo $@ done. - -######### make installs ######################### -install: - install -d -m 0755 $(DESTDIR)/usr/lib - install -m 0755 $(TARGET) $(DESTDIR)/usr/lib - @echo $@ done. diff --git a/nv_hal/hal_api/nv_hal.h b/nv_hal/hal_api/nv_hal.h deleted file mode 100755 index 2014754..0000000 --- a/nv_hal/hal_api/nv_hal.h +++ /dev/null @@ -1,245 +0,0 @@ -/* - * @copyright Copyright(c) 2018-2020 TOYOTA MOTOR CORPORATION. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef HAL_API_NV_HAL_H_ -#define HAL_API_NV_HAL_H_ - -#include <stdint.h> -#include <native_service/frameworkunified_types.h> - -/** - * @file nv_hal.h - * @brief This file provides API for accessing storage device. - */ - -/** @addtogroup backup_manager - * @{ - */ -/** @addtogroup nv_hal - * @ingroup backup_manager - * @{ - */ - -/** - * \~english NvHalMedia - */ -enum NvHalMedia { - /** - * \~english CacheDram - */ - NVHALMEDIA_CACHEDRAM = 0, - /** - * \~english BackupDram - */ - NVHALMEDIA_BACKUPDRAM, - /** - * \~english nand - */ - NVHALMEDIA_NAND, - /** - * \~english Max - */ - NVHALMEDIA_MAX -}; - -/**\ingroup InitNv - * \~english @par Brief - * Initialize Nv hal library. - * \~english @retval eFrameworkunifiedStatusOK : succsess initialize. - * \~english @retval eFrameworkunifiedStatusFail : fail initialize - * \~english @par Preconditions - * - There is no preconditions for this API. - * \~english @par Change of internal state - * - Change of internal state according to the API does not occur. - * \~english @par Conditions of processing failure - * - Initialization processing failure.[eFrameworkunifiedStatusFail] - * \~english @par Detail - * - Perform Nv_hal library initialization. - * - This process also performs deletion of temporary files accompanying system reset\n - * during write processing. - * - The API can only be used by 1 process. - * \~english @par Classification - * Public - * \~english @par Type - * Sync - * \~english @see - * - None - */ -EFrameworkunifiedStatus InitNv(void); - -/**\ingroup GetSizeNv - * \~english @par Brief - * This API get data size which is stored in storage device. - * \~english @param [in] media - * enum NvHalMedia - Media type - * \~english @param [in] filename - * const char* - file name(Concatenated[category name/item name]) - * \~english @param [out] size - * uint32_t - Data size - * \~english @par - * - Get decrypted data size as encryption data when item name in the argument of filename (file name) is added Prefix "ENC_". - * - Non encryption data : D_BK_CA_GID_D/D_BK_ID_GID_D - * - Encryption data : D_BK_CA_GID_D/ENC_D_BK_ID_GID_D - * \~english @retval eFrameworkunifiedStatusOK OK - * \~english @retval eFrameworkunifiedStatusFileLoadError File not exists - * \~english @retval eFrameworkunifiedStatusInvldParam Parameter error - * \~english @par Preconditions - * - There is no preconditions for this API. - * \~english @par Change of internal state - * - Change of internal state according to the API does not occur. - * \~english @par Conditions of processing failure - * - If the parameter media is less than NVHALMEDIA_CACHEDRAM or greater than\n - * NVHALMEDIA_NAND. [eFrameworkunifiedStatusInvldParam] - * - Parameter id is NULL. [eFrameworkunifiedStatusInvldParam] - * - Value of parameter size is 0. [eFrameworkunifiedStatusInvldParam] - * - Internal IO error(lstat).[eFrameworkunifiedStatusFileLoadError] - * \~english @par Detail - * - This API get the data size according to specified media and ID. - * - The API can only be used by 1 process. - * \~english @par Classification - * Public - * \~english @par Type - * Sync - * \~english @see WriteNv ReadNv - */ -EFrameworkunifiedStatus GetSizeNv(enum NvHalMedia media, const char *filename, uint32_t* size); - - - -/**\ingroup ReadNv - * \~english @par Brief - * Read data from storage device. - * \~english @param [in] media - * enum NvHalMedia - Media type - * \~english @param [in] filename - * const char* - file name(Concatenated[category name/item name]) - * \~english @param [out] buffer - * uint8_t* - Buffer for storing read data - * \~english @param [in] size - * uint32_t - Data size - * \~english @par - * - Decrypt and read data as encryption data when item name in the argument of filename (file name) is added Prefix "ENC_". - * - Non encryption data : D_BK_CA_GID_D/D_BK_ID_GID_D - * - Encryption data : D_BK_CA_GID_D/ENC_D_BK_ID_GID_D - * \~english @retval eFrameworkunifiedStatusOK OK - * \~english @retval eFrameworkunifiedStatusInvldParam Parameter error - * \~english @retval eFrameworkunifiedStatusFail Read data failed - * \~english @par Preconditions - * - There is no preconditions for this API. - * \~english @par Change of internal state - * - Change of internal state according to the API does not occur. - * \~english @par Conditions of processing failure - * - If the parameter media is less than NVHALMEDIA_CACHEDRAM or greater than\n - * NVHALMEDIA_NAND. [eFrameworkunifiedStatusInvldParam] - * - Parameter id is NULL. [eFrameworkunifiedStatusInvldParam] - * - Parameter buffer is NULL. [eFrameworkunifiedStatusInvldParam] - * - Value of parameter size is 0. [eFrameworkunifiedStatusInvldParam] - * - Internal IO error(open, pread, lstat, close).[eFrameworkunifiedStatusFail] - * - The value of parameter size is not equal to the file size specified by id. - * [eFrameworkunifiedStatusFail] - * \~english @par Detail - * - This API reads data according to specified media and ID. - * - ID is managed by backup_manager.For details, refer to "Details about XML file" in external specification of backup_manager. - * - The API can only be used by 1 process. - * \~english @par Classification - * Public - * \~english @par Type - * Sync - * \~english @see CheckNv WriteNv - */ -EFrameworkunifiedStatus ReadNv(enum NvHalMedia media, const char *filename, uint8_t *buffer, uint32_t size); - -/**\ingroup WriteNv - * \~english @par Brief - * Write data to storage device. - * \~english @param [in] media - * enum NvHalMedia - Media type - * \~english @param [in] filename - * const char* - filename(Concatenated[category name/item name]) - * \~english @param [in] buffer - * uint8_t* - Buffer for storing written data - * \~english @param [in] size - * uint32_t - Data size - * \~english @par - * - Encrypt and write data as encryption data when item name in the argument of filename (file name) is added Prefix "ENC_". - * - Non encryption data : D_BK_CA_GID_D/D_BK_ID_GID_D - * - Encryption data : D_BK_CA_GID_D/ENC_D_BK_ID_GID_D - * \~english @retval eFrameworkunifiedStatusOK OK - * \~english @retval eFrameworkunifiedStatusInvldParam Parameter error - * \~english @retval eFrameworkunifiedStatusFail Write data failed - * \~english @par Preconditions - * - There is no preconditions for this API. - * \~english @par Change of internal state - * - Change of internal state according to the API does not occur. - * \~english @par Conditions of processing failure - * - If the parameter media is less than NVHALMEDIA_CACHEDRAM or greater than\n - * NVHALMEDIA_NAND. [eFrameworkunifiedStatusInvldParam] - * - Parameter id is NULL. [eFrameworkunifiedStatusInvldParam] - * - Parameter buffer is NULL. [eFrameworkunifiedStatusInvldParam] - * - Value of parameter size is 0. [eFrameworkunifiedStatusInvldParam] - * - Internal IO error(open, pwrite, close, mkdir).[eFrameworkunifiedStatusFail] - * \~english @par Detail - * - This API writes data according to specified media and ID. - * - filename is managed by backup_manager.For details, refer to "Details about XML file" in external specification of backup_manager. - * - The API can only be used by 1 process. - * \~english @par Classification - * Public - * \~english @par Type - * Sync - * \~english @see CheckNv ReadNv - */ -EFrameworkunifiedStatus WriteNv(enum NvHalMedia media, const char *filename, uint8_t *buffer, uint32_t size); - -/**\ingroup DeleteNv - * \~english @par Brief - * Delete data which is stored in storage device. - * \~english @param [in] media - * enum \ref NvHalMedia - Media type - * \~english @param [in] filename - * const char* - filename(Concatenated[category name/item name]) - * \~english @par - * - Delete data as encryption data when item name in the argument of filename (file name) is added Prefix "ENC_". - * - Non encryption data : D_BK_CA_GID_D/D_BK_ID_GID_D - * - Encryption data : D_BK_CA_GID_D/ENC_D_BK_ID_GID_D - * \~english @retval eFrameworkunifiedStatusOK OK - * \~english @retval eFrameworkunifiedStatusInvldParam Parameter error - * \~english @retval eFrameworkunifiedStatusFail Delete data failed - * \~english @par Preconditions - * - There is no preconditions for this API. - * \~english @par Change of internal state - * - Change of internal state according to the API does not occur. - * \~english @par Conditions of processing failure - * - If the parameter media is less than \ref NVHALMEDIA_CACHEDRAM or greater than\n - * \ref NVHALMEDIA_NAND . [eFrameworkunifiedStatusInvldParam] - * - Parameter filename (filename) is NULL. [eFrameworkunifiedStatusInvldParam] - * - Internal IO error.[eFrameworkunifiedStatusFail] - * \~english @par Detail - * - This API delete data according to specified media and filename. - * - This API delete encryption key if data is encrypted. - * - filename is managed by backup_manager.For details, refer to "Details about XML file" in external specification of backup_manager. - * - The API can only be used by 1 process. - * \~english @par Classification - * Public - * \~english @par Type - * Sync - * \~english @see GetSizeNv ReadNv WriteNv - */ -EFrameworkunifiedStatus DeleteNv(enum NvHalMedia media, const char *filename); - -/** @}*/ // end of nv_hal -/** @}*/ // end of backup_manager - -#endif // HAL_API_NV_HAL_H_ diff --git a/nv_hal/inc/nv_hal_nvhallog.h b/nv_hal/inc/nv_hal_nvhallog.h deleted file mode 100755 index d62bd88..0000000 --- a/nv_hal/inc/nv_hal_nvhallog.h +++ /dev/null @@ -1,76 +0,0 @@ -/* - * @copyright Copyright (c) 2018-2020 TOYOTA MOTOR CORPORATION. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#ifndef INC_NV_HAL_NVHALLOG_H_ -#define INC_NV_HAL_NVHALLOG_H_ - -#include <native_service/ns_logger_if.h> - -#define ZONE_INIT ZONEMASK(10) -#define ZONE_FUNC ZONEMASK(11) -#define ZONE_MEM ZONEMASK(12) -#define ZONE_13 ZONEMASK(13) -#define ZONE_14 ZONEMASK(14) -#define ZONE_15 ZONEMASK(15) -#define ZONE_16 ZONEMASK(16) -#define ZONE_17 ZONEMASK(17) -#define ZONE_18 ZONEMASK(18) -#define ZONE_19 ZONEMASK(19) -#define ZONE_20 ZONEMASK(20) -#define ZONE_21 ZONEMASK(21) -#define ZONE_22 ZONEMASK(22) -#define ZONE_23 ZONEMASK(23) -#define ZONE_24 ZONEMASK(24) -#define ZONE_25 ZONEMASK(25) -#define ZONE_26 ZONEMASK(26) -#define ZONE_27 ZONEMASK(27) -#define ZONE_28 ZONEMASK(28) -#define ZONE_INFO ZONEMASK(29) -#define ZONE_WARN ZONEMASK(30) -#define ZONE_ERR ZONEMASK(31) - -#define ZONE_TEXT_10 "Init" -#define ZONE_TEXT_11 "Function" -#define ZONE_TEXT_12 "Memory" -#define ZONE_TEXT_13 "" -#define ZONE_TEXT_14 "" -#define ZONE_TEXT_15 "" -#define ZONE_TEXT_16 "" -#define ZONE_TEXT_17 "" -#define ZONE_TEXT_18 "" -#define ZONE_TEXT_19 "" -#define ZONE_TEXT_20 "" -#define ZONE_TEXT_21 "" -#define ZONE_TEXT_22 "" -#define ZONE_TEXT_23 "" -#define ZONE_TEXT_24 "" -#define ZONE_TEXT_25 "" -#define ZONE_TEXT_26 "" -#define ZONE_TEXT_27 "" -#define ZONE_TEXT_28 "" -#define ZONE_TEXT_29 "Info" -#define ZONE_TEXT_30 "Warning" -#define ZONE_TEXT_31 "Error" - -#ifndef FRAMEWORKUNIFIEDLOGOPTIONS -#define FRAMEWORKUNIFIEDLOGOPTIONS (LSHAREDMEM) // LPRINT , LMSGQ, LSLOGGER -#endif - -#ifndef FRAMEWORKUNIFIEDLOGAPPZONES -#define FRAMEWORKUNIFIEDLOGAPPZONES ZONE_ERR, ZONE_WARN, ZONE_INFO -#endif - -extern const CHAR AppName[]; // NOLINT (defind outside) -#endif // INC_NV_HAL_NVHALLOG_H_ diff --git a/nv_hal/src/nv_hal.cpp b/nv_hal/src/nv_hal.cpp deleted file mode 100755 index d746ea0..0000000 --- a/nv_hal/src/nv_hal.cpp +++ /dev/null @@ -1,242 +0,0 @@ -/* - * @copyright Copyright(c) 2018-2020 TOYOTA MOTOR CORPORATION. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "nv_hal.h" -#include <errno.h> -#include <fcntl.h> -#include <aglpath.h> -#include <sys/syscall.h> -#include <stdio.h> -#include <string.h> -#include <sys/stat.h> -#include <unistd.h> - -#include "nv_hal_nvhallog.h" - -/** - * Media type difine. - */ -const char *kMediaType[NVHALMEDIA_MAX] = { - "/tmp/bkup/", - "/ramd/BS/ns/backup_manager/rwdata/", - "/nv/BS/ns/backup_manager/rwdata/", -}; - -const int kMaxPath = 127; // Max length of path - -/** - * Initialize Nv hal - */ -EFrameworkunifiedStatus InitNv(void) { - return eFrameworkunifiedStatusOK; -} - -/** - * Get data size. - */ -EFrameworkunifiedStatus GetSizeNv(enum NvHalMedia media, const char *filename, uint32_t *size) { - if ((media < NVHALMEDIA_CACHEDRAM) || (media > NVHALMEDIA_NAND)) { // Argument range checking - FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "invalid media type:%d\n", media); - return eFrameworkunifiedStatusInvldParam; - } - if (NULL == filename) { // NULL checking of arguments - FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "filename is NULL.\n"); - return eFrameworkunifiedStatusInvldParam; - } - if (NULL == size) { // NULL checking of arguments - FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "size is NULL.\n"); - return eFrameworkunifiedStatusInvldParam; - } - char path[kMaxPath]; - memset(path, '\0', kMaxPath); - snprintf(path, kMaxPath, "%s%s", kMediaType[media], filename); - // Geting the file size - struct stat file_stat; - if (0 > lstat(path, &file_stat)) { - FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "lstat() error, errno=%d\n", errno); - return eFrameworkunifiedStatusFileLoadError; - } - *size = file_stat.st_size; - return eFrameworkunifiedStatusOK; -} - - - -/** - * Reading data from memory device. - */ -EFrameworkunifiedStatus ReadNv(enum NvHalMedia media, const char *filename, uint8_t *buffer, uint32_t size) { - if ((media < NVHALMEDIA_CACHEDRAM) || (media > NVHALMEDIA_NAND)) { - FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "invalid media type:%d\n", media); - return eFrameworkunifiedStatusInvldParam; - } - if (NULL == filename) { - FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "filename is NULL.\n"); - return eFrameworkunifiedStatusInvldParam; - } - if (NULL == buffer) { - FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "buffer is NULL.\n"); - return eFrameworkunifiedStatusInvldParam; - } - if (0 == size) { - FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "invalid size:%d\n", size); - return eFrameworkunifiedStatusInvldParam; - } - char path[kMaxPath]; - memset(path, '\0', kMaxPath); - snprintf(path, kMaxPath, "%s%s", kMediaType[media], filename); - struct stat file_stat; - if (0 > lstat(path, &file_stat)) { - FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "lstat() error, errno=%d\n", errno); - return eFrameworkunifiedStatusFail; - } - if (file_stat.st_size != size) { - FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "size error:%ld != %d\n", file_stat.st_size, size); - return eFrameworkunifiedStatusFail; - } - int fd = open(path, O_RDONLY); - if (-1 == fd) { - FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "open(%s) error, errno=%d\n", path, errno); - return eFrameworkunifiedStatusFail; - } else { - size_t tot_read; - // Read data by support EINTR - for (tot_read = 0; tot_read < static_cast<size_t>(size);) { - ssize_t read_size = pread(fd, &buffer[tot_read], static_cast<size_t>(size) - tot_read, tot_read); - if (-1 == read_size) { - if (errno == EINTR) { - continue; - } else { - FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "pread() error, errno=%d\n", errno); - if (0 != close(fd)) { - FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "close() error, errno=%d\n", errno); - } - return eFrameworkunifiedStatusFail; - } - } - tot_read += read_size; - } - if (0 != close(fd)) { - FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "close() error, errno=%d\n", errno); - return eFrameworkunifiedStatusFail; - } - } - return eFrameworkunifiedStatusOK; -} - -/** - * Writing data to memory device. - */ -EFrameworkunifiedStatus WriteNv(enum NvHalMedia media, const char *filename, uint8_t *buffer, uint32_t size) { - if ((media < NVHALMEDIA_CACHEDRAM) || (media > NVHALMEDIA_NAND)) { - FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "invalid media type:%d\n", media); - return eFrameworkunifiedStatusInvldParam; - } - if (NULL == filename) { - FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "filename is NULL.\n"); - return eFrameworkunifiedStatusInvldParam; - } - if (NULL == buffer) { - FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "buffer is NULL.\n"); - return eFrameworkunifiedStatusInvldParam; - } - if (0 == size) { - FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "invalid size:%d\n", size); - return eFrameworkunifiedStatusInvldParam; - } - char path[kMaxPath]; - memset(path, '\0', kMaxPath); - snprintf(path, kMaxPath, "%s%s", kMediaType[media], filename); - struct stat file_stat; - // Check file exists or not, mkdir first if file no exists. - if (0 > lstat(path, &file_stat)) { - char *dir_point = path; - char dir_buff[kMaxPath]; - dir_point++; - while ((dir_point = strchr(dir_point, '/'))) { - memset(dir_buff, '\0', kMaxPath); - memcpy(dir_buff, path, dir_point - path); - if (0 > mkdir(dir_buff, 0770)) { - if (EEXIST != errno) { - FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "mkdir() error, errno=%d\n", errno); - return eFrameworkunifiedStatusFail; - } else { - dir_point++; - continue; - } - } - dir_point++; - } - } - int fd = open(path, O_WRONLY | O_CREAT | O_TRUNC, 0660); - if (-1 == fd) { - FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "open(%s) error, errno=%d\n", path, errno); - return eFrameworkunifiedStatusFail; - } else { - size_t tot_written; - // Write data by support EINTR - for (tot_written = 0; tot_written < static_cast<size_t>(size);) { - ssize_t write_size = pwrite(fd, &buffer[tot_written], static_cast<size_t>(size) - tot_written, tot_written); - if (0 >= write_size) { - if (-1 == write_size && errno == EINTR) { - continue; - } else { - FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "pwrite() error, errno=%d\n", errno); - if (0 != close(fd)) { - FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "close() error, errno=%d\n", errno); - } - return eFrameworkunifiedStatusFail; - } - } - tot_written += write_size; - } - if (0 != close(fd)) { - FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "close() error, errno=%d\n", errno); - return eFrameworkunifiedStatusFail; - } - } - return eFrameworkunifiedStatusOK; -} - -/** - * Delete data. - */ -EFrameworkunifiedStatus DeleteNv(enum NvHalMedia media, const char *filename) { - if ((media < NVHALMEDIA_CACHEDRAM) || (media > NVHALMEDIA_NAND)) { - FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "invalid media type:%d\n", media); - return eFrameworkunifiedStatusInvldParam; - } - if (NULL == filename) { - FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "filename is NULL.\n"); - return eFrameworkunifiedStatusInvldParam; - } - - char path[kMaxPath]; - memset(path, '\0', kMaxPath); - snprintf(path, kMaxPath, "%s%s", kMediaType[media], filename); - struct stat file_stat; - - if (0 > lstat(path, &file_stat)) { - FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "lstat() error, errno=%d\n", errno); - return eFrameworkunifiedStatusFail; - } - - if (0 != unlink(path)) { - FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "unlink() error, errno=%d\n", errno); - return eFrameworkunifiedStatusFail; - } - - return eFrameworkunifiedStatusOK; -} |