1 /*
2  * Copyright (c) 2021-2023 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #include "softbus_adapter_file.h"
17 
18 #include "cmsis_os2.h"
19 #include "comm_log.h"
20 #include "softbus_adapter_errcode.h"
21 #include "softbus_errcode.h"
22 #include "utils_file.h"
23 
SoftBusReadFile(int32_t fd,void * readBuf,uint32_t maxLen)24 int32_t SoftBusReadFile(int32_t fd, void *readBuf, uint32_t maxLen)
25 {
26     (void)fd;
27     (void)readBuf;
28     (void)maxLen;
29     return -1;
30 }
31 
SoftBusReadFullFile(const char * fileName,char * readBuf,uint32_t maxLen)32 int32_t SoftBusReadFullFile(const char *fileName, char *readBuf, uint32_t maxLen)
33 {
34     if (fileName == NULL || readBuf == NULL || maxLen == 0) {
35         return SOFTBUS_INVALID_PARAM;
36     }
37     uint32_t fileLen = 0;
38     int32_t fd = UtilsFileOpen(fileName, O_RDONLY_FS, 0);
39     if (fd < 0) {
40         COMM_LOGE(COMM_ADAPTER, "Read UtilsFileOpen fail");
41         return SOFTBUS_FILE_ERR;
42     }
43     int32_t ret = UtilsFileStat(fileName, &fileLen);
44     if (ret < 0) {
45         COMM_LOGE(COMM_ADAPTER, "Read UtilsFileStat fail");
46         UtilsFileClose(fd);
47         return SOFTBUS_FILE_ERR;
48     }
49     ret = UtilsFileSeek(fd, 0, SEEK_SET_FS);
50     if (ret < 0) {
51         COMM_LOGE(COMM_ADAPTER, "Read UtilsFileSeek fail");
52         UtilsFileClose(fd);
53         return SOFTBUS_FILE_ERR;
54     }
55     if (fileLen > maxLen) {
56         COMM_LOGE(COMM_ADAPTER, "Read file len not legal, clear buf");
57         UtilsFileClose(fd);
58         return SOFTBUS_FILE_ERR;
59     }
60     ret = UtilsFileRead(fd, readBuf, maxLen);
61     if (ret < 0) {
62         COMM_LOGE(COMM_ADAPTER, "Read UtilsFileRead, ret=%{public}d", ret);
63         UtilsFileClose(fd);
64         return SOFTBUS_FILE_ERR;
65     }
66     UtilsFileClose(fd);
67     return SOFTBUS_OK;
68 }
69 
SoftBusWriteFile(const char * fileName,const char * writeBuf,uint32_t len)70 int32_t SoftBusWriteFile(const char *fileName, const char *writeBuf, uint32_t len)
71 {
72     if (fileName == NULL || writeBuf == NULL) {
73         COMM_LOGE(COMM_ADAPTER, "param is invalid");
74         return SOFTBUS_INVALID_PARAM;
75     }
76     int32_t ret;
77     int32_t fd;
78     fd = UtilsFileOpen(fileName, O_RDWR_FS | O_CREAT_FS | O_TRUNC_FS, 0);
79     if (fd < 0) {
80         COMM_LOGE(COMM_ADAPTER, "UtilsFileOpen fail");
81         return SOFTBUS_FILE_ERR;
82     }
83     ret = UtilsFileWrite(fd, writeBuf, len);
84     if (ret != (int32_t)len) {
85         COMM_LOGE(COMM_ADAPTER, "UtilsFileWrite fail");
86         UtilsFileClose(fd);
87         return SOFTBUS_FILE_ERR;
88     }
89     UtilsFileClose(fd);
90     return SOFTBUS_OK;
91 }
92 
SoftBusWriteFileFd(int32_t fd,const char * writeBuf,uint32_t len)93 int32_t SoftBusWriteFileFd(int32_t fd, const char *writeBuf, uint32_t len)
94 {
95     (void)fd;
96     (void)writeBuf;
97     (void)len;
98     return SOFTBUS_INVALID_FD;
99 }
100 
SoftBusOpenFile(const char * fileName,int32_t flags)101 int32_t SoftBusOpenFile(const char *fileName, int32_t flags)
102 {
103     (void)fileName;
104     (void)flags;
105     return SOFTBUS_INVALID_FD;
106 }
107 
SoftBusOpenFileWithPerms(const char * fileName,int32_t flags,int32_t perms)108 int32_t SoftBusOpenFileWithPerms(const char *fileName, int32_t flags, int32_t perms)
109 {
110     (void)fileName;
111     (void)flags;
112     (void)perms;
113     return SOFTBUS_INVALID_FD;
114 }
115 
SoftBusRemoveFile(const char * fileName)116 void SoftBusRemoveFile(const char *fileName)
117 {
118     (void)fileName;
119 }
120 
SoftBusCloseFile(int32_t fd)121 void SoftBusCloseFile(int32_t fd)
122 {
123     (void)fd;
124 }
125 
SoftBusPreadFile(int32_t fd,void * buf,uint64_t readBytes,uint64_t offset)126 int64_t SoftBusPreadFile(int32_t fd, void *buf, uint64_t readBytes, uint64_t offset)
127 {
128     (void)fd;
129     (void)buf;
130     (void)readBytes;
131     (void)offset;
132     return -1;
133 }
134 
SoftBusPwriteFile(int32_t fd,const void * buf,uint64_t writeBytes,uint64_t offset)135 int64_t SoftBusPwriteFile(int32_t fd, const void *buf, uint64_t writeBytes, uint64_t offset)
136 {
137     (void)fd;
138     (void)buf;
139     (void)writeBytes;
140     (void)offset;
141     return -1;
142 }
143 
SoftBusAccessFile(const char * pathName,int32_t mode)144 int32_t SoftBusAccessFile(const char *pathName, int32_t mode)
145 {
146     (void)pathName;
147     (void)mode;
148     return SOFTBUS_ERR;
149 }
150 
SoftBusMakeDir(const char * pathName,int32_t mode)151 int32_t SoftBusMakeDir(const char *pathName, int32_t mode)
152 {
153     (void)pathName;
154     (void)mode;
155     return SOFTBUS_ADAPTER_ERR;
156 }
SoftBusGetFileSize(const char * fileName,uint64_t * fileSize)157 int32_t SoftBusGetFileSize(const char *fileName, uint64_t *fileSize)
158 {
159     (void)fileName;
160     (void)fileSize;
161     return SOFTBUS_ERR;
162 }
163 
SoftBusRealPath(const char * path,char * absPath)164 char *SoftBusRealPath(const char *path, char *absPath)
165 {
166     (void)path;
167     (void)absPath;
168     return NULL;
169 }
170