RT-Thread RTOS 1.2.0
An open source embedded real-time operating system
载入中...
搜索中...
未找到
dfs.h 文件参考
#include <stdio.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include "../../libc/compilers/common/include/dirent.h"
#include <fcntl.h>
#include <sys/stat.h>
#include <sys/statfs.h>
#include <sys/time.h>
#include <sys/errno.h>
#include <rtatomic.h>
#include <rtdevice.h>
+ dfs.h 的引用(Include)关系图:
+ 此图展示该文件被哪些文件直接或间接地引用了:

浏览该文件的源代码.

结构体

struct  dfs_fdtable
 

宏定义

#define ATTR_MODE_SET   (1 << 6)
 
#define ATTR_ATIME_SET   (1 << 7)
 
#define ATTR_MTIME_SET   (1 << 8)
 
#define ATTR_UID_SET   (1 << 9)
 
#define ATTR_GID_SET   (1 << 10)
 
#define AT_SYMLINK_NOFOLLOW   0x100
 
#define UTIME_NOW   0x3fffffff
 
#define UTIME_OMIT   0x3ffffffe
 
#define DFS_FD_MAX   16
 
#define DFS_STDIO_OFFSET   3
 
#define DFS_PATH_MAX   4096
 
#define SECTOR_SIZE   512
 
#define DFS_FS_FLAG_DEFAULT   0x00 /* default flag */
 
#define DFS_FS_FLAG_FULLPATH   0x01 /* set full path to underlaying file system */
 
#define DFS_F_FREAD   0x01
 
#define DFS_F_FWRITE   0x02
 

函数

rt_inline int dfs_fflags (int oflags)
 
rt_inline int dfs_oflags (int fflags)
 
int dfs_init (void)
 
char * dfs_normalize_path (const char *directory, const char *filename)
 
const char * dfs_subdir (const char *directory, const char *filename)
 
rt_err_t dfs_lock (void)
 
void dfs_unlock (void)
 
rt_err_t dfs_file_lock (void)
 
void dfs_file_unlock (void)
 
int dfs_fdtable_dup (struct dfs_fdtable *fdt_dst, struct dfs_fdtable *fdt_src, int fd_src)
 
int dfs_fdtable_drop_fd (struct dfs_fdtable *fdtab, int fd)
 

宏定义说明

◆ ATTR_MODE_SET

#define ATTR_MODE_SET   (1 << 6)

在文件 dfs.h29 行定义.

◆ ATTR_ATIME_SET

#define ATTR_ATIME_SET   (1 << 7)

在文件 dfs.h33 行定义.

◆ ATTR_MTIME_SET

#define ATTR_MTIME_SET   (1 << 8)

在文件 dfs.h37 行定义.

◆ ATTR_UID_SET

#define ATTR_UID_SET   (1 << 9)

在文件 dfs.h41 行定义.

◆ ATTR_GID_SET

#define ATTR_GID_SET   (1 << 10)

在文件 dfs.h45 行定义.

◆ AT_SYMLINK_NOFOLLOW

#define AT_SYMLINK_NOFOLLOW   0x100

在文件 dfs.h49 行定义.

◆ UTIME_NOW

#define UTIME_NOW   0x3fffffff

在文件 dfs.h53 行定义.

◆ UTIME_OMIT

#define UTIME_OMIT   0x3ffffffe

在文件 dfs.h57 行定义.

◆ DFS_FD_MAX

#define DFS_FD_MAX   16

在文件 dfs.h61 行定义.

◆ DFS_STDIO_OFFSET

#define DFS_STDIO_OFFSET   3

在文件 dfs.h68 行定义.

◆ DFS_PATH_MAX

#define DFS_PATH_MAX   4096

在文件 dfs.h72 行定义.

◆ SECTOR_SIZE

#define SECTOR_SIZE   512

在文件 dfs.h76 行定义.

◆ DFS_FS_FLAG_DEFAULT

#define DFS_FS_FLAG_DEFAULT   0x00 /* default flag */

在文件 dfs.h79 行定义.

◆ DFS_FS_FLAG_FULLPATH

#define DFS_FS_FLAG_FULLPATH   0x01 /* set full path to underlaying file system */

在文件 dfs.h80 行定义.

◆ DFS_F_FREAD

#define DFS_F_FREAD   0x01

在文件 dfs.h83 行定义.

◆ DFS_F_FWRITE

#define DFS_F_FWRITE   0x02

在文件 dfs.h84 行定义.

函数说明

◆ dfs_fflags()

rt_inline int dfs_fflags ( int oflags)

在文件 dfs.h90 行定义.

91{
92 int rw = oflags & O_ACCMODE;
93
94 oflags &= ~O_ACCMODE;
95 return (rw + 1) | oflags;
96}
+ 这是这个函数的调用关系图:

◆ dfs_oflags()

rt_inline int dfs_oflags ( int fflags)

在文件 dfs.h98 行定义.

99{
100 int rw = fflags & (DFS_F_FREAD | DFS_F_FWRITE);
101
102 fflags &= ~(DFS_F_FREAD | DFS_F_FWRITE);
103 return (rw - 1) | fflags;
104}
#define DFS_F_FWRITE
定义 dfs.h:84
#define DFS_F_FREAD
定义 dfs.h:83

引用了 DFS_F_FREAD , 以及 DFS_F_FWRITE.

◆ dfs_lock()

rt_err_t dfs_lock ( void )

this function will lock device file system.

注解
please don't invoke it on ISR.

在文件 dfs.c120 行定义.

121{
122 rt_err_t result = -RT_EBUSY;
123
124 while (result == -RT_EBUSY)
125 {
126 result = rt_mutex_take(&fslock, RT_WAITING_FOREVER);
127 }
128
129 return result;
130}
#define RT_WAITING_FOREVER
rt_err_t rt_mutex_take(rt_mutex_t mutex, rt_int32_t time)
定义 ipc.c:1537
rt_base_t rt_err_t

引用了 rt_mutex_take() , 以及 RT_WAITING_FOREVER.

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ dfs_unlock()

void dfs_unlock ( void )

this function will lock device file system.

注解
please don't invoke it on ISR.

在文件 dfs.c137 行定义.

138{
139 rt_mutex_release(&fslock);
140}
rt_err_t rt_mutex_release(rt_mutex_t mutex)
This function will release a mutex. If there is thread suspended on the mutex, the thread will be res...
定义 ipc.c:1589

引用了 rt_mutex_release().

+ 函数调用图:
+ 这是这个函数的调用关系图: