[fcntl] create new fcntl.h file for vs (#5860)
* [fcntl] create new fcntl.h file for vs
This commit is contained in:
parent
7af43fdd4f
commit
6ce4a87492
|
@ -246,7 +246,7 @@ static int dfs_win32_close(struct dfs_fd *file)
|
||||||
WINDIR *wdirp = (WINDIR*)(file->data);
|
WINDIR *wdirp = (WINDIR*)(file->data);
|
||||||
RT_ASSERT(wdirp != RT_NULL);
|
RT_ASSERT(wdirp != RT_NULL);
|
||||||
if (_findclose((intptr_t)wdirp->handle) == 0) {
|
if (_findclose((intptr_t)wdirp->handle) == 0) {
|
||||||
free(wdirp->start); //NOTE: here we don't use rt_free!
|
free(wdirp->start); /* NOTE: here we don't use rt_free! */
|
||||||
rt_free(wdirp);
|
rt_free(wdirp);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -54,7 +54,7 @@ RTGUI的最新源码目前托管在github上:https://github.com/RT-Thread/RTGU
|
||||||
nand.bin-模拟nand flash,挂载uffs,参数page=2048+64bytes,block=64pages,16M
|
nand.bin-模拟nand flash,挂载uffs,参数page=2048+64bytes,block=64pages,16M
|
||||||
nor.bin--模拟nor flash,挂载jffs2,型号为sst25vf,2M
|
nor.bin--模拟nor flash,挂载jffs2,型号为sst25vf,2M
|
||||||
第一次启动时,会看到fatfs挂在失败,因为文件系统没有格式化,需要键入以下命令:
|
第一次启动时,会看到fatfs挂在失败,因为文件系统没有格式化,需要键入以下命令:
|
||||||
mkfs sd0
|
`mkfs sd0`
|
||||||
重启运行程序,可以正确挂载、使用FATFS文件系统。
|
重启运行程序,可以正确挂载、使用FATFS文件系统。
|
||||||
|
|
||||||
2) 测试RTGUI
|
2) 测试RTGUI
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
from building import *
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
src = []
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
CPPPATH = [cwd]
|
||||||
|
group = []
|
||||||
|
|
||||||
|
if rtconfig.CROSS_TOOL == 'msvc':
|
||||||
|
group = DefineGroup('Compiler', src, depend = [''], CPPPATH = CPPPATH)
|
||||||
|
Return('group')
|
|
@ -0,0 +1,74 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2006-2021, RT-Thread Development Team
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*
|
||||||
|
* Change Logs:
|
||||||
|
* Date Author Notes
|
||||||
|
* 2022-09-02 Meco Man First version
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __FCNTL_H__
|
||||||
|
#define __FCNTL_H__
|
||||||
|
|
||||||
|
#include "sys/types.h"
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* VS fcntl.h interent */
|
||||||
|
#define O_RDONLY 0x0000 /* open for reading only */
|
||||||
|
#define O_WRONLY 0x0001 /* open for writing only */
|
||||||
|
#define O_RDWR 0x0002 /* open for reading and writing */
|
||||||
|
#define O_APPEND 0x0008 /* writes done at eof */
|
||||||
|
|
||||||
|
#define O_CREAT 0x0100 /* create and open file */
|
||||||
|
#define O_TRUNC 0x0200 /* open and truncate */
|
||||||
|
#define O_EXCL 0x0400 /* open only if file doesn't already exist */
|
||||||
|
|
||||||
|
// O_TEXT files have <cr><lf> sequences translated to <lf> on read()'s and <lf>
|
||||||
|
// sequences translated to <cr><lf> on write()'s
|
||||||
|
#define O_TEXT 0x4000 /* file mode is text (translated) */
|
||||||
|
|
||||||
|
#define O_BINARY 0x8000 /* file mode is binary (untranslated) */
|
||||||
|
#define O_RAW O_BINARY
|
||||||
|
#define O_TEMPORARY 0x0040 /* temporary file bit (file is deleted when last handle is closed) */
|
||||||
|
#define O_NOINHERIT 0x0080 /* child process doesn't inherit file */
|
||||||
|
#define O_SEQUENTIAL 0x0020 /* file access is primarily sequential */
|
||||||
|
#define O_RANDOM 0x0010 /* file access is primarily random */
|
||||||
|
|
||||||
|
/* extension */
|
||||||
|
#define O_ACCMODE 0x0003 /* mask for above modes, from 4.4BSD https://minnie.tuhs.org/cgi-bin/utree.pl?file=4.4BSD/usr/include/sys/fcntl.h */
|
||||||
|
#define O_NONBLOCK 0x0004 /* non blocking I/O, from BSD apple https://opensource.apple.com/source/xnu/xnu-1228.0.2/bsd/sys/fcntl.h */
|
||||||
|
#define O_DIRECTORY 0x200000 /* from Newlib */
|
||||||
|
|
||||||
|
#define F_DUPFD 0
|
||||||
|
#define F_GETFD 1
|
||||||
|
#define F_SETFD 2
|
||||||
|
#define F_GETFL 3
|
||||||
|
#define F_SETFL 4
|
||||||
|
|
||||||
|
#define F_SETOWN 8
|
||||||
|
#define F_GETOWN 9
|
||||||
|
#define F_SETSIG 10
|
||||||
|
#define F_GETSIG 11
|
||||||
|
|
||||||
|
#define F_GETLK 12
|
||||||
|
#define F_SETLK 13
|
||||||
|
#define F_SETLKW 14
|
||||||
|
|
||||||
|
#define F_SETOWN_EX 15
|
||||||
|
#define F_GETOWN_EX 16
|
||||||
|
|
||||||
|
#define F_GETOWNER_UIDS 17
|
||||||
|
|
||||||
|
int open(const char *file, int flags, ...);
|
||||||
|
int fcntl(int fildes, int cmd, ...);
|
||||||
|
int creat(const char *path, mode_t mode);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
|
@ -6,8 +6,6 @@ cwd = GetCurrentDir()
|
||||||
CPPPATH = [cwd]
|
CPPPATH = [cwd]
|
||||||
group = []
|
group = []
|
||||||
|
|
||||||
if rtconfig.PLATFORM in ['armcc', 'armclang'] or\
|
if rtconfig.PLATFORM in ['armcc', 'armclang', 'iar']:
|
||||||
rtconfig.PLATFORM == 'iar' or\
|
|
||||||
rtconfig.CROSS_TOOL == 'msvc':
|
|
||||||
group = DefineGroup('Compiler', src, depend = [''], CPPPATH = CPPPATH)
|
group = DefineGroup('Compiler', src, depend = [''], CPPPATH = CPPPATH)
|
||||||
Return('group')
|
Return('group')
|
||||||
|
|
Loading…
Reference in New Issue