Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Kernel Liteos M
提交
3ae9d360
K
Kernel Liteos M
项目概览
OpenHarmony
/
Kernel Liteos M
大约 1 年 前同步成功
通知
20
Star
28
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
Kernel Liteos M
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
3ae9d360
编写于
4月 24, 2021
作者:
L
li_zan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add littlefs code
上级
606bd9ca
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
31 addition
and
16 deletion
+31
-16
components/fs/littlefs/lfs_api.c
components/fs/littlefs/lfs_api.c
+27
-12
components/fs/littlefs/lfs_api.h
components/fs/littlefs/lfs_api.h
+4
-4
未找到文件。
components/fs/littlefs/lfs_api.c
浏览文件 @
3ae9d360
...
...
@@ -36,7 +36,7 @@ lfs_t g_lfs;
FileDirInfo
g_lfsDir
[
LFS_MAX_OPEN_DIRS
];
FileOpInfo
g_fsOp
;
static
LittleFsHandleStruct
g_handle
[
LITTLE_FS_MAX_OPEN_FILES
];
static
LittleFsHandleStruct
g_handle
[
LITTLE_FS_MAX_OPEN_FILES
]
=
{
0
}
;
struct
dirent
g_nameValue
;
struct
fsmap_t
g_fsmap
[
MAX_FILE_SYSTEM_LEN
];
static
pthread_mutex_t
g_FslocalMutex
=
PTHREAD_MUTEX_INITIALIZER
;
...
...
@@ -87,7 +87,7 @@ int InitMountInfo(const char *fileSystemType, const struct MountOps *fsMops)
return
VFS_ERROR
;
}
const
struct
fsmap_t
*
mount_finds
(
const
char
*
fileSystemtype
)
const
struct
fsmap_t
*
mount_find
f
s
(
const
char
*
fileSystemtype
)
{
struct
fsmap_t
*
m
=
NULL
;
...
...
@@ -102,11 +102,25 @@ const struct fsmap_t *mount_finds(const char*fileSystemtype)
}
const
struct
MountOps
g_fsMnt
=
{
.
Mount
=
LfsMount
,
.
Umount
=
LfsUmount
,
};
struct
FileOps
lfs_vops
=
{
const
struct
FileOps
lfs_vops
=
{
.
Mkdir
=
LfsMkdir
,
.
Unlink
=
LfsUnlink
,
.
Rmdir
=
LfsRmdir
,
.
Opendir
=
LfsOpendir
,
.
Readdir
=
LfsReaddir
,
.
Closedir
=
LfsClosedir
,
.
Open
=
LfsOpen
,
.
Close
=
LfsClose
,
.
Write
=
LfsWrite
,
.
Read
=
LfsRead
,
.
Seek
=
LfsSeek
,
.
Rename
=
LfsRename
,
.
Getattr
=
LfsStat
,
.
Fsync
=
LfsFsync
,
};
int
LfsMount
(
const
char
*
source
,
const
char
*
target
,
const
char
*
fileSystemType
,
unsigned
long
mountflags
,
...
...
@@ -186,7 +200,7 @@ DIR *LfsOpendir(const char * dirName)
}
}
struct
dire
c
t
*
LfsReaddir
(
DIR
*
dir
)
struct
dire
n
t
*
LfsReaddir
(
DIR
*
dir
)
{
int
ret
;
struct
lfs_info
lfsInfo
;
...
...
@@ -211,12 +225,12 @@ struct direct *LfsReaddir(DIR * dir)
return
NULL
;
}
int
LfsClose
D
ir
(
DIR
*
dir
)
int
LfsClose
d
ir
(
DIR
*
dir
)
{
int
ret
;
pthread_mutex_lock
(
&
g_FslocalMutex
);
ret
=
lfs_
remove
(
&
g_lfs
,
dirName
);
ret
=
lfs_
dir_close
(
&
g_lfs
,
(
lfs_dir_t
*
)
dir
);
pthread_mutex_unlock
(
&
g_FslocalMutex
);
return
ret
;
...
...
@@ -227,12 +241,12 @@ int LfsOpen(const char * path, int openFlag, int mode)
int
fd
=
INVALID_FD
;
pthread_mutex_lock
(
&
g_FslocalMutex
);
LittleFsHandleStruct
*
fsHandle
=
GetFree
Dir
(
&
fd
);
LittleFsHandleStruct
*
fsHandle
=
GetFree
Fd
(
&
fd
);
if
(
fd
==
INVALID_FD
)
{
goto
errout
;
}
int
err
=
lfs_file_open
(
lfs_t
*
lfs
,
lfs_file_t
*
file
,
const
char
*
path
,
int
flags
);
int
err
=
lfs_file_open
(
&
g_lfs
,
&
(
fsHandle
->
file
),
path
,
openFlag
);
if
(
err
!=
0
)
{
goto
errout
;
}
...
...
@@ -299,6 +313,7 @@ int LfsClose(int fd)
pthread_mutex_lock
(
&
g_FslocalMutex
);
ret
=
lfs_file_close
(
&
g_lfs
,
&
(
g_handle
[
fd
].
file
));
g_handle
[
fd
].
useFlag
=
0
;
pthread_mutex_unlock
(
&
g_FslocalMutex
);
return
ret
;
...
...
@@ -309,7 +324,7 @@ int LfsRename(const char * oldName, const char * newName)
int
ret
;
pthread_mutex_lock
(
&
g_FslocalMutex
);
ret
=
lfs_rename
(
oldName
,
newName
);
ret
=
lfs_rename
(
&
g_lfs
,
oldName
,
newName
);
pthread_mutex_unlock
(
&
g_FslocalMutex
);
return
ret
;
...
...
@@ -322,7 +337,7 @@ int LfsStat(const char * path, struct stat * buf)
pthread_mutex_lock
(
&
g_FslocalMutex
);
ret
=
lfs_stat
(
&
g_lfs
,
path
,
&
info
);
if
(
ret
=
0
)
{
if
(
ret
=
=
0
)
{
buf
->
st_size
=
info
.
size
;
}
pthread_mutex_unlock
(
&
g_FslocalMutex
);
...
...
components/fs/littlefs/lfs_api.h
浏览文件 @
3ae9d360
...
...
@@ -55,7 +55,7 @@ typedef struct {
}
LittleFsHandleStruct
;
struct
MountOps
{
int
{
*
Mount
}
(
const
char
*
source
,
const
char
*
target
,
const
char
*
filesystemtype
,
unsigned
long
mountflags
,
int
(
*
Mount
)
(
const
char
*
source
,
const
char
*
target
,
const
char
*
filesystemtype
,
unsigned
long
mountflags
,
const
void
*
data
);
int
(
*
Umount
)(
const
char
*
target
);
};
...
...
@@ -71,9 +71,9 @@ struct FileOps {
int
(
*
Unlink
)(
const
char
*
fileName
);
int
(
*
Rmdir
)(
const
char
*
dirName
);
int
(
*
Mkdir
)(
const
char
*
dirName
,
mode_t
mode
);
struct
dire
c
t
*
(
*
Readdir
)(
DIR
*
dir
);
struct
dire
n
t
*
(
*
Readdir
)(
DIR
*
dir
);
DIR
*
(
*
Opendir
)(
const
char
*
dirName
);
int
(
*
Closedir
)(
D
ir
*
dir
);
int
(
*
Closedir
)(
D
IR
*
dir
);
int
(
*
Read
)(
int
fd
,
void
*
buf
,
size_t
len
);
int
(
*
Write
)(
int
fd
,
const
void
*
buf
,
size_t
len
);
int
(
*
Seek
)(
int
fd
,
off_t
offset
,
int
whence
);
...
...
@@ -116,7 +116,7 @@ int LfsMkdir(const char *dirName, mode_t mode);
int
LfsRmdir
(
const
char
*
dirName
);
DIR
*
LfsOpendir
(
const
char
*
dirName
);
struct
dirent
*
LfsReaddir
(
DIR
*
dir
);
int
LfsClose
D
ir
(
DIR
*
dir
);
int
LfsClose
d
ir
(
DIR
*
dir
);
int
LfsOpen
(
const
char
*
path
,
int
openFlag
,
int
mode
);
int
LfsRead
(
int
fd
,
void
*
buf
,
unsigned
int
len
);
int
LfsWrite
(
int
fd
,
const
void
*
buf
,
unsigned
int
len
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录