Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
BaiXuePrincess
rt-thread
提交
773990ab
R
rt-thread
项目概览
BaiXuePrincess
/
rt-thread
与 Fork 源项目一致
Fork自
RT-Thread / rt-thread
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
rt-thread
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
773990ab
编写于
6月 26, 2013
作者:
Y
yiyue.fang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Embedded GPLv2 license in dfs
上级
cb517cec
变更
27
展开全部
隐藏空白更改
内联
并排
Showing
27 changed file
with
1935 addition
and
1529 deletion
+1935
-1529
components/dfs/filesystems/devfs/console.c
components/dfs/filesystems/devfs/console.c
+20
-1
components/dfs/filesystems/devfs/devfs.c
components/dfs/filesystems/devfs/devfs.c
+233
-210
components/dfs/filesystems/devfs/devfs.h
components/dfs/filesystems/devfs/devfs.h
+23
-0
components/dfs/filesystems/elmfat/dfs_elm.c
components/dfs/filesystems/elmfat/dfs_elm.c
+13
-3
components/dfs/filesystems/nfs/dfs_nfs.c
components/dfs/filesystems/nfs/dfs_nfs.c
+999
-963
components/dfs/filesystems/nfs/dfs_nfs.h
components/dfs/filesystems/nfs/dfs_nfs.h
+13
-3
components/dfs/filesystems/ramfs/dfs_ramfs.c
components/dfs/filesystems/ramfs/dfs_ramfs.c
+52
-22
components/dfs/filesystems/ramfs/dfs_ramfs.h
components/dfs/filesystems/ramfs/dfs_ramfs.h
+15
-3
components/dfs/filesystems/romfs/dfs_romfs.c
components/dfs/filesystems/romfs/dfs_romfs.c
+13
-3
components/dfs/filesystems/romfs/dfs_romfs.h
components/dfs/filesystems/romfs/dfs_romfs.h
+13
-3
components/dfs/filesystems/romfs/romfs.c
components/dfs/filesystems/romfs/romfs.c
+40
-12
components/dfs/filesystems/skeleton/skeleton.c
components/dfs/filesystems/skeleton/skeleton.c
+49
-29
components/dfs/filesystems/skeleton/skeleton.h
components/dfs/filesystems/skeleton/skeleton.h
+23
-0
components/dfs/filesystems/uffs/dfs_uffs.c
components/dfs/filesystems/uffs/dfs_uffs.c
+18
-7
components/dfs/filesystems/uffs/dfs_uffs.h
components/dfs/filesystems/uffs/dfs_uffs.h
+20
-3
components/dfs/filesystems/uffs/uffs_nandif.c
components/dfs/filesystems/uffs/uffs_nandif.c
+248
-234
components/dfs/include/dfs.h
components/dfs/include/dfs.h
+13
-3
components/dfs/include/dfs_def.h
components/dfs/include/dfs_def.h
+13
-3
components/dfs/include/dfs_elm.h
components/dfs/include/dfs_elm.h
+13
-3
components/dfs/include/dfs_file.h
components/dfs/include/dfs_file.h
+13
-3
components/dfs/include/dfs_fs.h
components/dfs/include/dfs_fs.h
+13
-3
components/dfs/include/dfs_init.h
components/dfs/include/dfs_init.h
+13
-3
components/dfs/include/dfs_posix.h
components/dfs/include/dfs_posix.h
+13
-3
components/dfs/src/dfs.c
components/dfs/src/dfs.c
+13
-3
components/dfs/src/dfs_file.c
components/dfs/src/dfs_file.c
+13
-3
components/dfs/src/dfs_fs.c
components/dfs/src/dfs_fs.c
+13
-3
components/dfs/src/dfs_posix.c
components/dfs/src/dfs_posix.c
+13
-3
未找到文件。
components/dfs/filesystems/devfs/console.c
浏览文件 @
773990ab
/*
* RT-Thread Console Device File
* File : console.c
* This file is part of Device File System in RT-Thread RTOS
* COPYRIGHT (C) 2004-2011, RT-Thread Development Team
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Change Logs:
* Date Author Notes
*/
#include <rtthread.h>
struct
console_device
...
...
components/dfs/filesystems/devfs/devfs.c
浏览文件 @
773990ab
/*
* File : devfs.c
* This file is part of Device File System in RT-Thread RTOS
* COPYRIGHT (C) 2004-2011, RT-Thread Development Team
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Change Logs:
* Date Author Notes
*/
#include <rtthread.h>
#include <dfs.h>
#include <dfs_fs.h>
...
...
@@ -6,276 +29,276 @@
struct
device_dirent
{
rt_device_t
*
devices
;
rt_uint16_t
read_index
;
rt_uint16_t
device_count
;
rt_device_t
*
devices
;
rt_uint16_t
read_index
;
rt_uint16_t
device_count
;
};
int
dfs_device_fs_mount
(
struct
dfs_filesystem
*
fs
,
unsigned
long
rwflag
,
const
void
*
data
)
{
return
DFS_STATUS_OK
;
return
DFS_STATUS_OK
;
}
int
dfs_device_fs_ioctl
(
struct
dfs_fd
*
file
,
int
cmd
,
void
*
args
)
{
rt_err_t
result
;
rt_device_t
dev_id
;
rt_err_t
result
;
rt_device_t
dev_id
;
RT_ASSERT
(
file
!=
RT_NULL
);
RT_ASSERT
(
file
!=
RT_NULL
);
/* get device handler */
dev_id
=
(
rt_device_t
)
file
->
data
;
RT_ASSERT
(
dev_id
!=
RT_NULL
);
/* get device handler */
dev_id
=
(
rt_device_t
)
file
->
data
;
RT_ASSERT
(
dev_id
!=
RT_NULL
);
/* close device handler */
result
=
rt_device_control
(
dev_id
,
cmd
,
args
);
if
(
result
==
RT_EOK
)
return
DFS_STATUS_OK
;
/* close device handler */
result
=
rt_device_control
(
dev_id
,
cmd
,
args
);
if
(
result
==
RT_EOK
)
return
DFS_STATUS_OK
;
return
-
DFS_STATUS_EIO
;
return
-
DFS_STATUS_EIO
;
}
int
dfs_device_fs_read
(
struct
dfs_fd
*
file
,
void
*
buf
,
rt_size_t
count
)
{
int
result
;
rt_device_t
dev_id
;
int
result
;
rt_device_t
dev_id
;
RT_ASSERT
(
file
!=
RT_NULL
);
RT_ASSERT
(
file
!=
RT_NULL
);
/* get device handler */
dev_id
=
(
rt_device_t
)
file
->
data
;
RT_ASSERT
(
dev_id
!=
RT_NULL
);
/* get device handler */
dev_id
=
(
rt_device_t
)
file
->
data
;
RT_ASSERT
(
dev_id
!=
RT_NULL
);
/* read device data */
result
=
rt_device_read
(
dev_id
,
file
->
pos
,
buf
,
count
);
file
->
pos
+=
result
;
/* read device data */
result
=
rt_device_read
(
dev_id
,
file
->
pos
,
buf
,
count
);
file
->
pos
+=
result
;
return
result
;
return
result
;
}
int
dfs_device_fs_write
(
struct
dfs_fd
*
file
,
const
void
*
buf
,
rt_size_t
count
)
{
int
result
;
rt_device_t
dev_id
;
int
result
;
rt_device_t
dev_id
;
RT_ASSERT
(
file
!=
RT_NULL
);
RT_ASSERT
(
file
!=
RT_NULL
);
/* get device handler */
dev_id
=
(
rt_device_t
)
file
->
data
;
RT_ASSERT
(
dev_id
!=
RT_NULL
);
/* get device handler */
dev_id
=
(
rt_device_t
)
file
->
data
;
RT_ASSERT
(
dev_id
!=
RT_NULL
);
/* read device data */
result
=
rt_device_write
(
dev_id
,
file
->
pos
,
buf
,
count
);
file
->
pos
+=
result
;
/* read device data */
result
=
rt_device_write
(
dev_id
,
file
->
pos
,
buf
,
count
);
file
->
pos
+=
result
;
return
result
;
return
result
;
}
int
dfs_device_fs_close
(
struct
dfs_fd
*
file
)
{
rt_err_t
result
;
rt_device_t
dev_id
;
rt_err_t
result
;
rt_device_t
dev_id
;
RT_ASSERT
(
file
!=
RT_NULL
);
RT_ASSERT
(
file
!=
RT_NULL
);
if
(
file
->
type
==
FT_DIRECTORY
)
{
struct
device_dirent
*
root_dirent
;
if
(
file
->
type
==
FT_DIRECTORY
)
{
struct
device_dirent
*
root_dirent
;
root_dirent
=
(
struct
device_dirent
*
)
file
->
data
;
RT_ASSERT
(
root_dirent
!=
RT_NULL
);
/* release dirent */
rt_free
(
root_dirent
);
return
DFS_STATUS_OK
;
}
root_dirent
=
(
struct
device_dirent
*
)
file
->
data
;
RT_ASSERT
(
root_dirent
!=
RT_NULL
);
/* release dirent */
rt_free
(
root_dirent
);
return
DFS_STATUS_OK
;
}
/* get device handler */
dev_id
=
(
rt_device_t
)
file
->
data
;
RT_ASSERT
(
dev_id
!=
RT_NULL
);
/* get device handler */
dev_id
=
(
rt_device_t
)
file
->
data
;
RT_ASSERT
(
dev_id
!=
RT_NULL
);
/* close device handler */
result
=
rt_device_close
(
dev_id
);
if
(
result
==
RT_EOK
)
{
file
->
data
=
RT_NULL
;
/* close device handler */
result
=
rt_device_close
(
dev_id
);
if
(
result
==
RT_EOK
)
{
file
->
data
=
RT_NULL
;
return
DFS_STATUS_OK
;
}
return
DFS_STATUS_OK
;
}
return
-
DFS_STATUS_EIO
;
return
-
DFS_STATUS_EIO
;
}
int
dfs_device_fs_open
(
struct
dfs_fd
*
file
)
{
rt_device_t
device
;
if
(
file
->
flags
&
DFS_O_CREAT
)
return
-
DFS_STATUS_EINVAL
;
/* open root directory */
if
((
file
->
path
[
0
]
==
'/'
)
&&
(
file
->
path
[
1
]
==
'\0'
)
&&
(
file
->
flags
&
DFS_O_DIRECTORY
))
{
struct
rt_object
*
object
;
struct
rt_list_node
*
node
;
struct
rt_object_information
*
information
;
struct
device_dirent
*
root_dirent
;
rt_uint32_t
count
=
0
;
extern
struct
rt_object_information
rt_object_container
[];
/* lock scheduler */
rt_enter_critical
();
/* traverse device object */
information
=
&
rt_object_container
[
RT_Object_Class_Device
];
for
(
node
=
information
->
object_list
.
next
;
node
!=
&
(
information
->
object_list
);
node
=
node
->
next
)
{
count
++
;
}
root_dirent
=
(
struct
device_dirent
*
)
rt_malloc
(
sizeof
(
struct
device_dirent
)
+
count
*
sizeof
(
rt_device_t
));
if
(
root_dirent
!=
RT_NULL
)
{
root_dirent
->
devices
=
(
rt_device_t
*
)(
root_dirent
+
1
);
root_dirent
->
read_index
=
0
;
root_dirent
->
device_count
=
count
;
count
=
0
;
/* get all device node */
for
(
node
=
information
->
object_list
.
next
;
node
!=
&
(
information
->
object_list
);
node
=
node
->
next
)
{
object
=
rt_list_entry
(
node
,
struct
rt_object
,
list
);
root_dirent
->
devices
[
count
]
=
(
rt_device_t
)
object
;
count
++
;
}
}
rt_exit_critical
();
/* set data */
file
->
data
=
root_dirent
;
return
DFS_STATUS_OK
;
}
device
=
rt_device_find
(
&
file
->
path
[
1
]);
if
(
device
==
RT_NULL
)
return
-
DFS_STATUS_ENODEV
;
file
->
data
=
device
;
return
DFS_STATUS_OK
;
rt_device_t
device
;
if
(
file
->
flags
&
DFS_O_CREAT
)
return
-
DFS_STATUS_EINVAL
;
/* open root directory */
if
((
file
->
path
[
0
]
==
'/'
)
&&
(
file
->
path
[
1
]
==
'\0'
)
&&
(
file
->
flags
&
DFS_O_DIRECTORY
))
{
struct
rt_object
*
object
;
struct
rt_list_node
*
node
;
struct
rt_object_information
*
information
;
struct
device_dirent
*
root_dirent
;
rt_uint32_t
count
=
0
;
extern
struct
rt_object_information
rt_object_container
[];
/* lock scheduler */
rt_enter_critical
();
/* traverse device object */
information
=
&
rt_object_container
[
RT_Object_Class_Device
];
for
(
node
=
information
->
object_list
.
next
;
node
!=
&
(
information
->
object_list
);
node
=
node
->
next
)
{
count
++
;
}
root_dirent
=
(
struct
device_dirent
*
)
rt_malloc
(
sizeof
(
struct
device_dirent
)
+
count
*
sizeof
(
rt_device_t
));
if
(
root_dirent
!=
RT_NULL
)
{
root_dirent
->
devices
=
(
rt_device_t
*
)(
root_dirent
+
1
);
root_dirent
->
read_index
=
0
;
root_dirent
->
device_count
=
count
;
count
=
0
;
/* get all device node */
for
(
node
=
information
->
object_list
.
next
;
node
!=
&
(
information
->
object_list
);
node
=
node
->
next
)
{
object
=
rt_list_entry
(
node
,
struct
rt_object
,
list
);
root_dirent
->
devices
[
count
]
=
(
rt_device_t
)
object
;
count
++
;
}
}
rt_exit_critical
();
/* set data */
file
->
data
=
root_dirent
;
return
DFS_STATUS_OK
;
}
device
=
rt_device_find
(
&
file
->
path
[
1
]);
if
(
device
==
RT_NULL
)
return
-
DFS_STATUS_ENODEV
;
file
->
data
=
device
;
return
DFS_STATUS_OK
;
}
int
dfs_device_fs_stat
(
struct
dfs_filesystem
*
fs
,
const
char
*
path
,
struct
stat
*
st
)
{
/* stat root directory */
if
((
path
[
0
]
==
'/'
)
&&
(
path
[
1
]
==
'\0'
))
{
st
->
st_dev
=
0
;
st
->
st_mode
=
DFS_S_IFREG
|
DFS_S_IRUSR
|
DFS_S_IRGRP
|
DFS_S_IROTH
|
DFS_S_IWUSR
|
DFS_S_IWGRP
|
DFS_S_IWOTH
;
st
->
st_mode
&=
~
DFS_S_IFREG
;
st
->
st_mode
|=
DFS_S_IFDIR
|
DFS_S_IXUSR
|
DFS_S_IXGRP
|
DFS_S_IXOTH
;
st
->
st_size
=
0
;
st
->
st_mtime
=
0
;
st
->
st_blksize
=
512
;
return
DFS_STATUS_OK
;
}
else
{
rt_device_t
dev_id
;
dev_id
=
rt_device_find
(
&
path
[
1
]);
if
(
dev_id
!=
RT_NULL
)
{
st
->
st_dev
=
0
;
st
->
st_mode
=
DFS_S_IRUSR
|
DFS_S_IRGRP
|
DFS_S_IROTH
|
DFS_S_IWUSR
|
DFS_S_IWGRP
|
DFS_S_IWOTH
;
if
(
dev_id
->
type
==
RT_Device_Class_Char
)
st
->
st_mode
|=
DFS_S_IFCHR
;
else
if
(
dev_id
->
type
==
RT_Device_Class_Block
)
st
->
st_mode
|=
DFS_S_IFBLK
;
else
st
->
st_mode
|=
DFS_S_IFREG
;
st
->
st_size
=
0
;
st
->
st_mtime
=
0
;
st
->
st_blksize
=
512
;
return
DFS_STATUS_OK
;
}
}
return
-
DFS_STATUS_ENOENT
;
/* stat root directory */
if
((
path
[
0
]
==
'/'
)
&&
(
path
[
1
]
==
'\0'
))
{
st
->
st_dev
=
0
;
st
->
st_mode
=
DFS_S_IFREG
|
DFS_S_IRUSR
|
DFS_S_IRGRP
|
DFS_S_IROTH
|
DFS_S_IWUSR
|
DFS_S_IWGRP
|
DFS_S_IWOTH
;
st
->
st_mode
&=
~
DFS_S_IFREG
;
st
->
st_mode
|=
DFS_S_IFDIR
|
DFS_S_IXUSR
|
DFS_S_IXGRP
|
DFS_S_IXOTH
;
st
->
st_size
=
0
;
st
->
st_mtime
=
0
;
st
->
st_blksize
=
512
;
return
DFS_STATUS_OK
;
}
else
{
rt_device_t
dev_id
;
dev_id
=
rt_device_find
(
&
path
[
1
]);
if
(
dev_id
!=
RT_NULL
)
{
st
->
st_dev
=
0
;
st
->
st_mode
=
DFS_S_IRUSR
|
DFS_S_IRGRP
|
DFS_S_IROTH
|
DFS_S_IWUSR
|
DFS_S_IWGRP
|
DFS_S_IWOTH
;
if
(
dev_id
->
type
==
RT_Device_Class_Char
)
st
->
st_mode
|=
DFS_S_IFCHR
;
else
if
(
dev_id
->
type
==
RT_Device_Class_Block
)
st
->
st_mode
|=
DFS_S_IFBLK
;
else
st
->
st_mode
|=
DFS_S_IFREG
;
st
->
st_size
=
0
;
st
->
st_mtime
=
0
;
st
->
st_blksize
=
512
;
return
DFS_STATUS_OK
;
}
}
return
-
DFS_STATUS_ENOENT
;
}
int
dfs_device_fs_getdents
(
struct
dfs_fd
*
file
,
struct
dirent
*
dirp
,
rt_uint32_t
count
)
{
rt_uint32_t
index
;
rt_object_t
object
;
struct
dirent
*
d
;
struct
device_dirent
*
root_dirent
;
root_dirent
=
(
struct
device_dirent
*
)
file
->
data
;
RT_ASSERT
(
root_dirent
!=
RT_NULL
);
/* make integer count */
count
=
(
count
/
sizeof
(
struct
dirent
));
if
(
count
==
0
)
return
-
DFS_STATUS_EINVAL
;
for
(
index
=
0
;
index
<
count
&&
index
+
root_dirent
->
read_index
<
root_dirent
->
device_count
;
index
++
)
{
object
=
(
rt_object_t
)
root_dirent
->
devices
[
root_dirent
->
read_index
+
index
];
d
=
dirp
+
index
;
d
->
d_type
=
DFS_DT_REG
;
d
->
d_namlen
=
RT_NAME_MAX
;
d
->
d_reclen
=
(
rt_uint16_t
)
sizeof
(
struct
dirent
);
rt_strncpy
(
d
->
d_name
,
object
->
name
,
RT_NAME_MAX
);
}
root_dirent
->
read_index
+=
index
;
return
index
*
sizeof
(
struct
dirent
);
rt_uint32_t
index
;
rt_object_t
object
;
struct
dirent
*
d
;
struct
device_dirent
*
root_dirent
;
root_dirent
=
(
struct
device_dirent
*
)
file
->
data
;
RT_ASSERT
(
root_dirent
!=
RT_NULL
);
/* make integer count */
count
=
(
count
/
sizeof
(
struct
dirent
));
if
(
count
==
0
)
return
-
DFS_STATUS_EINVAL
;
for
(
index
=
0
;
index
<
count
&&
index
+
root_dirent
->
read_index
<
root_dirent
->
device_count
;
index
++
)
{
object
=
(
rt_object_t
)
root_dirent
->
devices
[
root_dirent
->
read_index
+
index
];
d
=
dirp
+
index
;
d
->
d_type
=
DFS_DT_REG
;
d
->
d_namlen
=
RT_NAME_MAX
;
d
->
d_reclen
=
(
rt_uint16_t
)
sizeof
(
struct
dirent
);
rt_strncpy
(
d
->
d_name
,
object
->
name
,
RT_NAME_MAX
);
}
root_dirent
->
read_index
+=
index
;
return
index
*
sizeof
(
struct
dirent
);
}
static
const
struct
dfs_filesystem_operation
_device_fs
=
{
"devfs"
,
DFS_FS_FLAG_DEFAULT
,
dfs_device_fs_mount
,
RT_NULL
,
RT_NULL
,
RT_NULL
,
dfs_device_fs_open
,
dfs_device_fs_close
,
dfs_device_fs_ioctl
,
dfs_device_fs_read
,
dfs_device_fs_write
,
RT_NULL
,
RT_NULL
,
dfs_device_fs_getdents
,
RT_NULL
,
dfs_device_fs_stat
,
RT_NULL
,
"devfs"
,
DFS_FS_FLAG_DEFAULT
,
dfs_device_fs_mount
,
RT_NULL
,
RT_NULL
,
RT_NULL
,
dfs_device_fs_open
,
dfs_device_fs_close
,
dfs_device_fs_ioctl
,
dfs_device_fs_read
,
dfs_device_fs_write
,
RT_NULL
,
RT_NULL
,
dfs_device_fs_getdents
,
RT_NULL
,
dfs_device_fs_stat
,
RT_NULL
,
};
int
devfs_init
(
void
)
{
/* register rom file system */
dfs_register
(
&
_device_fs
);
/* register rom file system */
dfs_register
(
&
_device_fs
);
return
0
;
return
0
;
}
INIT_FS_EXPORT
(
devfs_init
);
components/dfs/filesystems/devfs/devfs.h
浏览文件 @
773990ab
/*
* File : devfs.h
* This file is part of Device File System in RT-Thread RTOS
* COPYRIGHT (C) 2004-2011, RT-Thread Development Team
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Change Logs:
* Date Author Notes
*/
#ifndef __DEVICE_FS_H__
#define __DEVICE_FS_H__
...
...
components/dfs/filesystems/elmfat/dfs_elm.c
浏览文件 @
773990ab
...
...
@@ -3,9 +3,19 @@
* This file is part of Device File System in RT-Thread RTOS
* COPYRIGHT (C) 2008-2011, RT-Thread Development Team
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rt-thread.org/license/LICENSE.
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Change Logs:
* Date Author Notes
...
...
components/dfs/filesystems/nfs/dfs_nfs.c
浏览文件 @
773990ab
此差异已折叠。
点击以展开。
components/dfs/filesystems/nfs/dfs_nfs.h
浏览文件 @
773990ab
...
...
@@ -3,9 +3,19 @@
* This file is part of Device File System in RT-Thread RTOS
* COPYRIGHT (C) 2004-2011, RT-Thread Development Team
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rt-thread.org/license/LICENSE.
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Change Logs:
* Date Author Notes
...
...
components/dfs/filesystems/ramfs/dfs_ramfs.c
浏览文件 @
773990ab
/*
* File : dfs_ramfs.c
* This file is part of RT-Thread RTOS
* COPYRIGHT (C) 20
11, Shanghai Real-Thread Technology Co., Ltd
* This file is part of
Device File System in
RT-Thread RTOS
* COPYRIGHT (C) 20
04-2013, RT-Thread Development Team
*
* All rights reserved.
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Change Logs:
* Date Author Notes
...
...
@@ -17,11 +29,14 @@
#include <dfs_fs.h>
#include "dfs_ramfs.h"
int
dfs_ramfs_mount
(
struct
dfs_filesystem
*
fs
,
unsigned
long
rwflag
,
const
void
*
data
)
int
dfs_ramfs_mount
(
struct
dfs_filesystem
*
fs
,
unsigned
long
rwflag
,
const
void
*
data
)
{
struct
dfs_ramfs
*
ramfs
;
if
(
data
==
RT_NULL
)
return
-
DFS_STATUS_EIO
;
if
(
data
==
RT_NULL
)
return
-
DFS_STATUS_EIO
;
ramfs
=
(
struct
dfs_ramfs
*
)
data
;
fs
->
data
=
ramfs
;
...
...
@@ -55,7 +70,9 @@ int dfs_ramfs_ioctl(struct dfs_fd *file, int cmd, void *args)
return
-
DFS_STATUS_EIO
;
}
struct
ramfs_dirent
*
dfs_ramfs_lookup
(
struct
dfs_ramfs
*
ramfs
,
const
char
*
path
,
rt_size_t
*
size
)
struct
ramfs_dirent
*
dfs_ramfs_lookup
(
struct
dfs_ramfs
*
ramfs
,
const
char
*
path
,
rt_size_t
*
size
)
{
const
char
*
subpath
;
struct
ramfs_dirent
*
dirent
;
...
...
@@ -65,16 +82,18 @@ struct ramfs_dirent *dfs_ramfs_lookup(struct dfs_ramfs* ramfs, const char *path,
if
(
!
*
subpath
)
/* is root directory */
{
*
size
=
0
;
return
&
(
ramfs
->
root
);
}
for
(
dirent
=
rt_list_entry
(
ramfs
->
root
.
list
.
next
,
struct
ramfs_dirent
,
list
);
dirent
!=
&
(
ramfs
->
root
);
dirent
=
rt_list_entry
(
dirent
->
list
.
next
,
struct
ramfs_dirent
,
list
))
dirent
!=
&
(
ramfs
->
root
);
dirent
=
rt_list_entry
(
dirent
->
list
.
next
,
struct
ramfs_dirent
,
list
))
{
if
(
rt_strcmp
(
dirent
->
name
,
subpath
)
==
0
)
{
*
size
=
dirent
->
size
;
return
dirent
;
}
}
...
...
@@ -122,6 +141,7 @@ int dfs_ramfs_write(struct dfs_fd *fd, const void *buf, rt_size_t count)
if
(
ptr
==
RT_NULL
)
{
rt_set_errno
(
-
RT_ENOMEM
);
return
0
;
}
...
...
@@ -145,6 +165,7 @@ int dfs_ramfs_lseek(struct dfs_fd *file, rt_off_t offset)
if
(
offset
<=
(
rt_off_t
)
file
->
size
)
{
file
->
pos
=
offset
;
return
file
->
pos
;
}
...
...
@@ -154,6 +175,7 @@ int dfs_ramfs_lseek(struct dfs_fd *file, rt_off_t offset)
int
dfs_ramfs_close
(
struct
dfs_fd
*
file
)
{
file
->
data
=
RT_NULL
;
return
DFS_STATUS_OK
;
}
...
...
@@ -195,8 +217,7 @@ int dfs_ramfs_open(struct dfs_fd *file)
if
(
dirent
==
RT_NULL
)
{
if
(
file
->
flags
&
DFS_O_CREAT
||
file
->
flags
&
DFS_O_WRONLY
)
if
(
file
->
flags
&
DFS_O_CREAT
||
file
->
flags
&
DFS_O_WRONLY
)
{
char
*
name_ptr
;
...
...
@@ -209,7 +230,8 @@ int dfs_ramfs_open(struct dfs_fd *file)
/* remove '/' separator */
name_ptr
=
file
->
path
;
while
(
*
name_ptr
==
'/'
&&
*
name_ptr
)
name_ptr
++
;
while
(
*
name_ptr
==
'/'
&&
*
name_ptr
)
name_ptr
++
;
strncpy
(
dirent
->
name
,
name_ptr
,
RAMFS_NAME_MAX
);
rt_list_init
(
&
(
dirent
->
list
));
...
...
@@ -218,7 +240,8 @@ int dfs_ramfs_open(struct dfs_fd *file)
/* add to the root directory */
rt_list_insert_after
(
&
(
ramfs
->
root
.
list
),
&
(
dirent
->
list
));
}
else
return
-
DFS_STATUS_ENOENT
;
else
return
-
DFS_STATUS_ENOENT
;
}
/* Creates a new file. If the file is existing, it is truncated and overwritten. */
...
...
@@ -282,8 +305,8 @@ int dfs_ramfs_getdents(struct dfs_fd *file, struct dirent *dirp, rt_uint32_t cou
index
=
0
;
count
=
0
;
for
(
dirent
=
rt_list_entry
(
dirent
->
list
.
next
,
struct
ramfs_dirent
,
list
);
dirent
!=
&
(
ramfs
->
root
)
&&
index
<
end
;
dirent
=
rt_list_entry
(
dirent
->
list
.
next
,
struct
ramfs_dirent
,
list
))
dirent
!=
&
(
ramfs
->
root
)
&&
index
<
end
;
dirent
=
rt_list_entry
(
dirent
->
list
.
next
,
struct
ramfs_dirent
,
list
))
{
if
(
index
>=
(
rt_size_t
)
file
->
pos
)
{
...
...
@@ -312,7 +335,8 @@ int dfs_ramfs_unlink(struct dfs_filesystem *fs, const char *path)
RT_ASSERT
(
ramfs
!=
RT_NULL
);
dirent
=
dfs_ramfs_lookup
(
ramfs
,
path
,
&
size
);
if
(
dirent
==
RT_NULL
)
return
-
DFS_STATUS_ENOENT
;
if
(
dirent
==
RT_NULL
)
return
-
DFS_STATUS_ENOENT
;
rt_list_remove
(
&
(
dirent
->
list
));
if
(
dirent
->
data
!=
RT_NULL
)
...
...
@@ -322,7 +346,9 @@ int dfs_ramfs_unlink(struct dfs_filesystem *fs, const char *path)
return
DFS_STATUS_OK
;
}
int
dfs_ramfs_rename
(
struct
dfs_filesystem
*
fs
,
const
char
*
oldpath
,
const
char
*
newpath
)
int
dfs_ramfs_rename
(
struct
dfs_filesystem
*
fs
,
const
char
*
oldpath
,
const
char
*
newpath
)
{
struct
ramfs_dirent
*
dirent
;
struct
dfs_ramfs
*
ramfs
;
...
...
@@ -332,10 +358,12 @@ int dfs_ramfs_rename(struct dfs_filesystem *fs, const char *oldpath, const char
RT_ASSERT
(
ramfs
!=
RT_NULL
);
dirent
=
dfs_ramfs_lookup
(
ramfs
,
newpath
,
&
size
);
if
(
dirent
!=
RT_NULL
)
return
-
DFS_STATUS_EEXIST
;
if
(
dirent
!=
RT_NULL
)
return
-
DFS_STATUS_EEXIST
;
dirent
=
dfs_ramfs_lookup
(
ramfs
,
oldpath
,
&
size
);
if
(
dirent
==
RT_NULL
)
return
-
DFS_STATUS_ENOENT
;
if
(
dirent
==
RT_NULL
)
return
-
DFS_STATUS_ENOENT
;
strncpy
(
dirent
->
name
,
newpath
,
RAMFS_NAME_MAX
);
...
...
@@ -368,10 +396,11 @@ int dfs_ramfs_init(void)
{
/* register ram file system */
dfs_register
(
&
_ramfs
);
return
0
;
}
struct
dfs_ramfs
*
dfs_ramfs_create
(
rt_uint8_t
*
pool
,
rt_size_t
size
)
struct
dfs_ramfs
*
dfs_ramfs_create
(
rt_uint8_t
*
pool
,
rt_size_t
size
)
{
struct
dfs_ramfs
*
ramfs
;
rt_uint8_t
*
data_ptr
;
...
...
@@ -385,9 +414,10 @@ struct dfs_ramfs* dfs_ramfs_create(rt_uint8_t* pool, rt_size_t size)
size
=
RT_ALIGN_DOWN
(
size
,
RT_ALIGN_SIZE
);
result
=
rt_memheap_init
(
&
ramfs
->
memheap
,
"ramfs"
,
data_ptr
,
size
);
if
(
result
!=
RT_EOK
)
return
RT_NULL
;
/* detach this memheap object from the system */
rt_object_detach
((
rt_object_t
)
&
(
ramfs
->
memheap
));
if
(
result
!=
RT_EOK
)
return
RT_NULL
;
/* detach this memheap object from the system */
rt_object_detach
((
rt_object_t
)
&
(
ramfs
->
memheap
));
/* initialize ramfs object */
ramfs
->
magic
=
RAMFS_MAGIC
;
...
...
components/dfs/filesystems/ramfs/dfs_ramfs.h
浏览文件 @
773990ab
/*
* File : dfs_ramfs.h
* This file is part of RT-Thread RTOS
* COPYRIGHT (C) 20
11, Shanghai Real-Thread Technology Co., Ltd
* This file is part of
Device File System in
RT-Thread RTOS
* COPYRIGHT (C) 20
04-2013, RT-Thread Development Team
*
* All rights reserved.
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Change Logs:
* Date Author Notes
...
...
components/dfs/filesystems/romfs/dfs_romfs.c
浏览文件 @
773990ab
...
...
@@ -3,9 +3,19 @@
* This file is part of Device File System in RT-Thread RTOS
* COPYRIGHT (C) 2004-2011, RT-Thread Development Team
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rt-thread.org/license/LICENSE.
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Change Logs:
* Date Author Notes
...
...
components/dfs/filesystems/romfs/dfs_romfs.h
浏览文件 @
773990ab
...
...
@@ -3,9 +3,19 @@
* This file is part of Device File System in RT-Thread RTOS
* COPYRIGHT (C) 2004-2011, RT-Thread Development Team
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rt-thread.org/license/LICENSE.
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Change Logs:
* Date Author Notes
...
...
components/dfs/filesystems/romfs/romfs.c
浏览文件 @
773990ab
/*
* File : romfs.c
* This file is part of Device File System in RT-Thread RTOS
* COPYRIGHT (C) 2004-2011, RT-Thread Development Team
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Change Logs:
* Date Author Notes
*/
#include <dfs_romfs.h>
const
static
unsigned
char
_dummy_dummy_txt
[]
=
{
0x74
,
0x68
,
0x69
,
0x73
,
0x20
,
0x69
,
0x73
,
0x20
,
0x61
,
0x20
,
0x66
,
0x69
,
0x6c
,
0x65
,
0x21
,
0x0d
,
0x0a
,
const
static
unsigned
char
_dummy_dummy_txt
[]
=
{
0x74
,
0x68
,
0x69
,
0x73
,
0x20
,
0x69
,
0x73
,
0x20
,
0x61
,
0x20
,
0x66
,
0x69
,
0x6c
,
0x65
,
0x21
,
0x0d
,
0x0a
,
};
const
static
struct
romfs_dirent
_dummy
[]
=
{
{
ROMFS_DIRENT_FILE
,
"dummy.txt"
,
_dummy_dummy_txt
,
sizeof
(
_dummy_dummy_txt
)},
const
static
struct
romfs_dirent
_dummy
[]
=
{
{
ROMFS_DIRENT_FILE
,
"dummy.txt"
,
_dummy_dummy_txt
,
sizeof
(
_dummy_dummy_txt
)},
};
const
static
unsigned
char
_dummy_txt
[]
=
{
0x74
,
0x68
,
0x69
,
0x73
,
0x20
,
0x69
,
0x73
,
0x20
,
0x61
,
0x20
,
0x66
,
0x69
,
0x6c
,
0x65
,
0x21
,
0x0d
,
0x0a
,
const
static
unsigned
char
_dummy_txt
[]
=
{
0x74
,
0x68
,
0x69
,
0x73
,
0x20
,
0x69
,
0x73
,
0x20
,
0x61
,
0x20
,
0x66
,
0x69
,
0x6c
,
0x65
,
0x21
,
0x0d
,
0x0a
,
};
const
struct
romfs_dirent
_root_dirent
[]
=
{
{
ROMFS_DIRENT_DIR
,
"dummy"
,
(
rt_uint8_t
*
)
_dummy
,
sizeof
(
_dummy
)
/
sizeof
(
_dummy
[
0
])},
{
ROMFS_DIRENT_FILE
,
"dummy.txt"
,
_dummy_txt
,
sizeof
(
_dummy_txt
)},
const
struct
romfs_dirent
_root_dirent
[]
=
{
{
ROMFS_DIRENT_DIR
,
"dummy"
,
(
rt_uint8_t
*
)
_dummy
,
sizeof
(
_dummy
)
/
sizeof
(
_dummy
[
0
])},
{
ROMFS_DIRENT_FILE
,
"dummy.txt"
,
_dummy_txt
,
sizeof
(
_dummy_txt
)},
};
const
struct
romfs_dirent
romfs_root
=
{
ROMFS_DIRENT_DIR
,
"/"
,
(
rt_uint8_t
*
)
_root_dirent
,
sizeof
(
_root_dirent
)
/
sizeof
(
_root_dirent
[
0
])};
const
struct
romfs_dirent
romfs_root
=
{
ROMFS_DIRENT_DIR
,
"/"
,
(
rt_uint8_t
*
)
_root_dirent
,
sizeof
(
_root_dirent
)
/
sizeof
(
_root_dirent
[
0
])
};
components/dfs/filesystems/skeleton/skeleton.c
浏览文件 @
773990ab
/*
* A skeleton of file system in Device File System
* File : skeleton.c
* This file is part of Device File System in RT-Thread RTOS
* COPYRIGHT (C) 2004-2011, RT-Thread Development Team
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Change Logs:
* Date Author Notes
*/
#include <rtthread.h>
#include <dfs.h>
#include <dfs_fs.h>
...
...
@@ -9,74 +29,74 @@
int
dfs_skt_mount
(
struct
dfs_filesystem
*
fs
,
unsigned
long
rwflag
,
const
void
*
data
)
{
return
DFS_STATUS_OK
;
return
DFS_STATUS_OK
;
}
int
dfs_skt_unmount
(
struct
dfs_filesystem
*
fs
)
{
return
DFS_STATUS_OK
;
return
DFS_STATUS_OK
;
}
int
dfs_skt_ioctl
(
struct
dfs_fd
*
file
,
int
cmd
,
void
*
args
)
int
dfs_skt_ioctl
(
struct
dfs_fd
*
file
,
int
cmd
,
void
*
args
)
{
return
-
DFS_STATUS_EIO
;
return
-
DFS_STATUS_EIO
;
}
int
dfs_skt_read
(
struct
dfs_fd
*
file
,
void
*
buf
,
rt_size_t
count
)
{
return
count
;
return
count
;
}
int
dfs_skt_lseek
(
struct
dfs_fd
*
file
,
rt_off_t
offset
)
{
return
-
DFS_STATUS_EIO
;
return
-
DFS_STATUS_EIO
;
}
int
dfs_skt_close
(
struct
dfs_fd
*
file
)
{
return
DFS_STATUS_OK
;
return
DFS_STATUS_OK
;
}
int
dfs_skt_open
(
struct
dfs_fd
*
file
)
{
return
DFS_STATUS_OK
;
return
DFS_STATUS_OK
;
}
int
dfs_skt_stat
(
struct
dfs_filesystem
*
fs
,
const
char
*
path
,
struct
stat
*
st
)
{
return
DFS_STATUS_OK
;
return
DFS_STATUS_OK
;
}
int
dfs_skt_getdents
(
struct
dfs_fd
*
file
,
struct
dirent
*
dirp
,
rt_uint32_t
count
)
{
return
count
*
sizeof
(
struct
dirent
);
return
count
*
sizeof
(
struct
dirent
);
}
static
const
struct
dfs_filesystem_operation
_skt_fs
=
{
"skt"
,
DFS_FS_FLAG_DEFAULT
,
dfs_skt_mount
,
dfs_skt_unmount
,
RT_NULL
,
RT_NULL
,
"skt"
,
DFS_FS_FLAG_DEFAULT
,
dfs_skt_mount
,
dfs_skt_unmount
,
RT_NULL
,
RT_NULL
,
dfs_skt_open
,
dfs_skt_close
,
dfs_skt_ioctl
,
dfs_skt_read
,
RT_NULL
,
RT_NULL
,
dfs_skt_lseek
,
dfs_skt_getdents
,
RT_NULL
,
dfs_skt_stat
,
RT_NULL
,
dfs_skt_open
,
dfs_skt_close
,
dfs_skt_ioctl
,
dfs_skt_read
,
RT_NULL
,
RT_NULL
,
dfs_skt_lseek
,
dfs_skt_getdents
,
RT_NULL
,
dfs_skt_stat
,
RT_NULL
,
};
int
dfs_skt_init
(
void
)
{
/* register rom file system */
dfs_register
(
&
_skt_fs
);
return
0
;
return
0
;
}
components/dfs/filesystems/skeleton/skeleton.h
浏览文件 @
773990ab
/*
* File : skeleton.h
* This file is part of Device File System in RT-Thread RTOS
* COPYRIGHT (C) 2004-2011, RT-Thread Development Team
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Change Logs:
* Date Author Notes
*/
#ifndef __SKELETON_H__
#define __SKELETON_H__
...
...
components/dfs/filesystems/uffs/dfs_uffs.c
浏览文件 @
773990ab
/*
* File :
rtthread.h
* This file is part of RT-Thread RTOS
* COPYRIGHT (C) 200
6
-2012, RT-Thread Development Team
* File :
dfs_uffs.c
* This file is part of
Device File System in
RT-Thread RTOS
* COPYRIGHT (C) 200
4
-2012, RT-Thread Development Team
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rt-thread.org/license/LICENSE.
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Change Logs:
* Date Author Notes
* 2011-10-22 prife the first version
* 2012-03-28 prife use mtd device interface
* 2012-04-05 prife update uffs with official repo and use uffs_UnMount/Mount
*/
*/
#include <rtthread.h>
#include <dfs_fs.h>
...
...
components/dfs/filesystems/uffs/dfs_uffs.h
浏览文件 @
773990ab
/*
* dfs_uffs.h
* File : dfs_uffs.h
* This file is part of Device File System in RT-Thread RTOS
* COPYRIGHT (C) 2004-2012, RT-Thread Development Team
*
* Created on: 2012-3-30
* Author: prife
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Change Logs:
* Date Author Notes
* 2012-03-30 prife the first version
*/
#ifndef DFS_UFFS_H_
...
...
components/dfs/filesystems/uffs/uffs_nandif.c
浏览文件 @
773990ab
此差异已折叠。
点击以展开。
components/dfs/include/dfs.h
浏览文件 @
773990ab
...
...
@@ -3,9 +3,19 @@
* This file is part of Device File System in RT-Thread RTOS
* COPYRIGHT (C) 2004-2012, RT-Thread Development Team
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rt-thread.org/license/LICENSE.
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Change Logs:
* Date Author Notes
...
...
components/dfs/include/dfs_def.h
浏览文件 @
773990ab
...
...
@@ -3,9 +3,19 @@
* This file is part of Device File System in RT-Thread RTOS
* COPYRIGHT (C) 2004-2012, RT-Thread Development Team
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rt-thread.org/license/LICENSE.
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Change Logs:
* Date Author Notes
...
...
components/dfs/include/dfs_elm.h
浏览文件 @
773990ab
...
...
@@ -3,9 +3,19 @@
* This file is part of Device File System in RT-Thread RTOS
* COPYRIGHT (C) 2008-2012, RT-Thread Development Team
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rt-thread.org/license/LICENSE.
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Change Logs:
* Date Author Notes
...
...
components/dfs/include/dfs_file.h
浏览文件 @
773990ab
...
...
@@ -3,9 +3,19 @@
* This file is part of Device File System in RT-Thread RTOS
* COPYRIGHT (C) 2004-2012, RT-Thread Development Team
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rt-thread.org/license/LICENSE.
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Change Logs:
* Date Author Notes
...
...
components/dfs/include/dfs_fs.h
浏览文件 @
773990ab
...
...
@@ -3,9 +3,19 @@
* This file is part of Device File System in RT-Thread RTOS
* COPYRIGHT (C) 2004-2012, RT-Thread Development Team
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rt-thread.org/license/LICENSE.
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Change Logs:
* Date Author Notes
...
...
components/dfs/include/dfs_init.h
浏览文件 @
773990ab
...
...
@@ -3,9 +3,19 @@
* This file is part of Device File System in RT-Thread RTOS
* COPYRIGHT (C) 2004-2012, RT-Thread Development Team
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rt-thread.org/license/LICENSE.
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Change Logs:
* Date Author Notes
...
...
components/dfs/include/dfs_posix.h
浏览文件 @
773990ab
...
...
@@ -3,9 +3,19 @@
* This file is part of Device File System in RT-Thread RTOS
* COPYRIGHT (C) 2004-2012, RT-Thread Development Team
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rt-thread.org/license/LICENSE.
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Change Logs:
* Date Author Notes
...
...
components/dfs/src/dfs.c
浏览文件 @
773990ab
...
...
@@ -3,9 +3,19 @@
* This file is part of Device File System in RT-Thread RTOS
* COPYRIGHT (C) 2004-2012, RT-Thread Development Team
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rt-thread.org/license/LICENSE.
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Change Logs:
* Date Author Notes
...
...
components/dfs/src/dfs_file.c
浏览文件 @
773990ab
...
...
@@ -3,9 +3,19 @@
* This file is part of Device File System in RT-Thread RTOS
* COPYRIGHT (C) 2004-2011, RT-Thread Development Team
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rt-thread.org/license/LICENSE.
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Change Logs:
* Date Author Notes
...
...
components/dfs/src/dfs_fs.c
浏览文件 @
773990ab
...
...
@@ -3,9 +3,19 @@
* This file is part of Device File System in RT-Thread RTOS
* COPYRIGHT (C) 2004-2012, RT-Thread Development Team
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rt-thread.org/license/LICENSE.
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Change Logs:
* Date Author Notes
...
...
components/dfs/src/dfs_posix.c
浏览文件 @
773990ab
...
...
@@ -3,9 +3,19 @@
* This file is part of Device File System in RT-Thread RTOS
* COPYRIGHT (C) 2004-2012, RT-Thread Development Team
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rt-thread.org/license/LICENSE.
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Change Logs:
* Date Author Notes
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录