Xiang Xiao
028c6aa6e6
fs: Add file_pipe function
...
so pty don't need call nx_pipe and then file_detach
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: Ibb8d108abd76bafe53897e5fca35babcf3e1bae9
2021-01-08 11:16:15 +08:00
Xiang Xiao
085543a156
Move the declaration of nx_mkfifo/nx_pipe to nuttx/fs/fs.h
...
the new location is better than nuttx/drivers/drivers.h
since they are part of the file system api.
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-01-08 11:16:03 +08:00
Xiang Xiao
3eb62b010b
fs: Fix the race condition in file_dup
...
NULL inode passed to files_allocate doesn't mark file struct in the
allocated state, so other threads which invovle in file allocation
(e.g. open or dup) may allocate the same file struct again.
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I53ff876eae3c7a1e311e7f671686b73a4b4ef891
2021-01-08 11:15:49 +08:00
chao.an
d3ffbe5367
netpacket/if_addr: add interface address header
...
Change-Id: I1aab82fea6916e187d19a66e4d0817119a98c3ea
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-01-08 10:25:19 +08:00
chao.an
cf988ebad3
ctype/iscntrl: correct the control character function
...
all the characters placed before the space on the ASCII table
and the 0x7F character (DEL) are control characters.
Change-Id: Id187b39ce50b80e9ebee85a7242716eb017575d7
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-01-04 17:17:15 +08:00
ligd
0a7d86f587
fs: remove INODE_IS_SPECIAL() use others instead
...
Change-Id: I949f1ad012836e6cb233d5362fe2542732b5ecf4
Signed-off-by: ligd <liguiding1@xiaomi.com>
2021-01-02 21:14:21 +08:00
ligd
f58ef1476c
fs/vfs: add nx_unlink support
...
Change-Id: If9009cb7301bb4e49bdce3aea2d56c243256f5a2
Signed-off-by: ligd <liguiding1@xiaomi.com>
2021-01-02 21:14:21 +08:00
danguanghua
d226e8fb49
libs/libc/net: implement socketpair
...
N/A
Reference here:
https://www.freebsd.org/cgi/man.cgi?apropos=0&sektion=2&query=socketpair&manpath=FreeBSD+7.0-current&format=html
Change-Id: I959b4d661cd436f5d5050baf9e821db84139d482
Signed-off-by: danguanghua <danguanghua@xiaomi.com>
2020-12-30 18:26:50 +08:00
chao.an
688911373d
arch/spinlock: implement the default test-and-set semantics
...
use the default testset implement on single core platform
that does not support test-and-set, more flexibility for
SMP drivers(using spinlock) if configured in a single-core
configuration.
Change-Id: I954899f71bc6e903dce48c6e27719cb99f13e4b6
Signed-off-by: chao.an <anchao@xiaomi.com>
2020-12-30 15:20:33 +08:00
Xiang Xiao
ca2ec9b137
libc: Add b64_ntop and b64_pton implementation
...
implemented by many libc(e.g. freebsd, glibc, newlib)
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-12-29 11:22:13 +08:00
Xiang Xiao
d2572b31d1
sched: Add include/sys/poll.h
...
since many libc implementation(e.g. glibc, freebsd) provide this header file
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-12-25 17:43:05 +08:00
dongjiuzhu
b9a62d9531
signal: fix compile break in c++
...
N/A
nuttx.rel: In function `__metal_sleep_usec':
nuttx/include/metal/system/nuttx/sleep.h:27: undefined reference to `nxsig_usleep(unsigned int)'
collect2: error: ld returned 1 exit status
Change-Id: I9dd2ed0a72d144bb152dc3753e7f9a6695dfb2d4
Signed-off-by: dongjiuzhu <dongjiuzhu1@xiaomi.com>
2020-12-25 11:27:46 +08:00
chao.an
c9dcce4f30
Revert "libs/libc/dumpbuffer: add support to dump the buffer to file descriptor."
...
This reverts commit 080b380955 .
2020-12-22 16:25:38 +08:00
Xiang Xiao
66b601e075
libc: Implement getppid
...
as specified here:
https://pubs.opengroup.org/onlinepubs/009695399/functions/getppid.html
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-12-21 17:44:50 +08:00
chao.an
080b380955
libs/libc/dumpbuffer: add support to dump the buffer to file descriptor.
...
Change-Id: I5742a69a75faf288df36da12ee5138f27a4f1532
Signed-off-by: chao.an <anchao@xiaomi.com>
2020-12-21 17:18:26 +08:00
chao.an
776a2ca8cc
libs/libc: add lib_dumpvbuffer support
...
e.g: Encapsulation Type: Bluetooth H4: add packet type dump support
From:
lib_dumpvbuffer(NULL, data, len);
[ 1.567100] 0000 03 0c 00 ...
[ 1.890100] 0000 0e 04 01 03 0c 00 ......
[ 1.890100] 0000 03 10 00 ...
[ 1.892900] 0000 0e 0c 01 03 10 00 ff ff 8f fe db ff 5b 87 ............[.
[ 1.892900] 0000 01 10 00 ...
[ 1.894900] 0000 0e 0c 01 01 10 00 06 bb 22 06 0a 00 bb 22 ........"...."
[ 1.894900] 0000 02 10 00 ...
[ 1.901900] 0000 0e 44 01 02 10 00 ff ff ff 03 fe ff ff ff ff ff .D..............
[ 1.901900] 0010 ff ff f3 0f e8 fe 3f f7 83 ff 1c 00 00 00 61 f7 ......?.......a.
[ 1.901900] 0020 ff ff 7f 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
[ 1.901900] 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
[ 1.901900] 0040 00 00 00 00 00 00 ......
To:
struct iovec bufs[2];
bufs[0].iov_base = &type;
bufs[0].iov_len = 1;
bufs[1].iov_base = data;
bufs[1].iov_len = len;
lib_dumpvbuffer(NULL, bufs, 2);
[ 3.711400] 0000 01 03 0c 00 ....
[ 4.035400] 0000 04 0e 04 01 03 0c 00 .......
[ 4.035400] 0000 01 03 10 00 ....
[ 4.037400] 0000 04 0e 0c 01 03 10 00 ff ff 8f fe db ff 5b 87 .............[.
[ 4.037400] 0000 01 01 10 00 ....
[ 4.039400] 0000 04 0e 0c 01 01 10 00 06 bb 22 06 0a 00 bb 22 ........."...."
[ 4.039400] 0000 01 02 10 00 ....
[ 4.046400] 0000 04 0e 44 01 02 10 00 ff ff ff 03 fe ff ff ff ff ..D.............
[ 4.046400] 0010 ff ff ff f3 0f e8 fe 3f f7 83 ff 1c 00 00 00 61 .......?.......a
[ 4.046400] 0020 f7 ff ff 7f 00 00 00 00 00 00 00 00 00 00 00 00 ................
[ 4.046400] 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
[ 4.046400] 0040 00 00 00 00 00 00 00 .......
Change-Id: I51716014dedb6a3b9fb10ea84779f1d82487e9b0
Signed-off-by: chao.an <anchao@xiaomi.com>
2020-12-21 17:17:48 +08:00
Xiang Xiao
984defadd0
libc: Implement posix_fallocate
...
as specified here:
https://pubs.opengroup.org/onlinepubs/007904875/functions/posix_fallocate.html
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-12-14 18:21:35 +08:00
chao.an
093e8b994f
crypto/arc4random: rename getrandom to arc4random_buf
...
Change-Id: I5c9f0c9acf5af71f01beceaf06ebe0a2c87676bc
Signed-off-by: chao.an <anchao@xiaomi.com>
2020-12-12 14:38:19 +08:00
chao.an
a44376ad2d
Revert "libs/libc: correct the getrandom(2) prototype"
...
This reverts commit 8411ef1873 .
Signed-off-by: chao.an <anchao@xiaomi.com>
Change-Id: I29e90e01f3b8a0460ee53831d38d96edf7d12ef2
2020-12-12 12:13:42 +08:00
chao.an
e0f23b0c02
libs/libc/net: implement etheraton/ether_aton_r
...
Reference here:
https://www.freebsd.org/cgi/man.cgi?apropos=0&sektion=3&query=ether_aton&manpath=FreeBSD+7.0-current&format=html
Change-Id: I3e70c985836600837dd61810ba290be59b6e8e6f
Signed-off-by: chao.an <anchao@xiaomi.com>
2020-12-10 01:30:47 +08:00
chao.an
a9cdcf2f7a
sched/clock: independent the CLOCK_BOOTTIME
...
The previous commit will cause build break if the definition of clock
id is used in the switch case.
Change-Id: Iecd078818d28879883dd582b236372ba43171b13
Signed-off-by: chao.an <anchao@xiaomi.com>
2020-12-08 11:47:51 +08:00
chao.an
8411ef1873
libs/libc: correct the getrandom(2) prototype
...
Reference here:
https://man7.org/linux/man-pages/man2/getrandom.2.html
https://www.freebsd.org/cgi/man.cgi?query=getrandom&sektion=2&manpath=freebsd-release-ports
Change-Id: I9813a46ad80db1436524a1fc44be40e4bf17105c
Signed-off-by: chao.an <anchao@xiaomi.com>
2020-12-08 11:28:31 +08:00
chao.an
8a7703b2be
libs/libc/getrandom(2): add ORed bit mask definition
...
Change-Id: I1a805420f3ace0b844452dc126d04534680e96f2
Signed-off-by: chao.an <anchao@xiaomi.com>
2020-12-07 14:44:38 +08:00
chao.an
511d65392a
libs/libc: correct the getrandom(2) prototype
...
Reference here:
https://man7.org/linux/man-pages/man2/getrandom.2.html
Change-Id: I25b913c4b6533b3888cb2b9c62bb71505a0815c9
Signed-off-by: chao.an <anchao@xiaomi.com>
2020-12-07 14:44:25 +08:00
chao.an
2a931c1448
clock/time: add CLOCK_BOOTTIME definition
...
Change-Id: I1adc0445dcdd8284d11aec44bd67b447b2b0490f
Signed-off-by: chao.an <anchao@xiaomi.com>
2020-12-07 10:02:46 +08:00
ligd
fe996fc69c
socket_rpmsg: add socket rpmsg support
...
N/A
Change-Id: I1e18a0b3d643e5b74b86624ef245f19ef616bc61
Signed-off-by: ligd <liguiding1@xiaomi.com>
2020-12-04 20:36:24 +08:00
Xiang Xiao
49077f0c53
libc: Change OK/ERROR macro to enum
...
to avoid the conflict with 3rd party c++ library(e.g. protobuf):
fdc35840b9/src/google/protobuf/stubs/status.h (L47)
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: Ie8bb9008a8375c729f8b947c9f10baa80104d157
2020-12-01 16:47:47 +08:00
liuhaitao
9218f09d38
Restore getopt in nuttx mainline instead
...
N/A
Do not use the special getopt patch and use getopt for nuttx
mainline instead.
Change-Id: I388944cd0a0cfaa64e251ad5565fd8eb8c4e609a
Signed-off-by: liuhaitao <liuhaitao@xiaomi.com>
2020-11-25 20:13:05 +08:00
liuhaitao
c24f178af7
Merge remote-tracking branch 'mirtos/master' into dev
...
Change-Id: I85394b24ce27d20ecbb130b85d844ab540507031
Signed-off-by: liuhaitao <liuhaitao@xiaomi.com>
2020-11-25 14:44:27 +08:00
dongjiuzhu
148afd9548
driver/sensors: support custom type of sensor.
...
For examples, the custom sensor could define:
struct custem_event_s
{
uint64_t timestamp;
int16_t adc[8];
};
struct sensor_lowerhalf_s g_lower =
{
.buffer_size = 1024,
};
sensor_custom_register(lower, "/dev/sensor/custom0", sizeof(struct custem_event_s));
Signed-off-by: dongjiuzhu <dongjiuzhu1@xiaomi.com>
2020-11-24 13:23:15 -03:00
Huang Qi
f1968469a4
spi/qspi.h: Fix data type of buflen
...
N/A
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2020-11-23 11:33:39 +08:00
Huang Qi
0a2873a37f
spi/qspi.h: Fix data type of buflen
...
Summary:
- This patch change the data type of buflen in qspi_meminfo_s
- from uint16_t to uint32_t to allow data size greater than 64KB.
Impact:
- QSPI & some flash like s25fl1 etc
Testing:
- Tested with rm69330 oled controller on custom board
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2020-11-22 19:02:11 -08:00
Nathan Hartman
f13ee2848d
include/nuttx/clock.h: Fix wrong comment
...
include/nuttx/clock.h:
* USEC_PER_TICK: The docstring for this define mistakenly said
that the default value of USEC_PER_TICK, 10000, corresponded
to 100 KHz. However, it is actually 100 Hz. Corrected the
comment. No functional changes.
2020-11-22 18:33:50 -08:00
Nathan Hartman
8e8ead3224
sched/signal/sig_timedwait.c: Fix typo in comment
...
sched/signal/sig_timedwait.c:
* nxsig_timedwait(): Fix typo in comment:
"is store din" -> "is stored in"
include/nuttx/signal.h:
* Fix same typo in extern declaration of nxsig_timedwait().
2020-11-22 18:31:49 -08:00
Xiang Xiao
759b63d4be
libc: implement getopt_long partially
...
only the short option is supported now
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-11-21 07:01:08 -06:00
Xiang Xiao
af53bdb048
libc: Add opterr global variable
...
defined here:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/getopt.html
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-11-21 07:01:08 -06:00
Michal Lenc
8cf6cfda1a
imxrt: Added support for DP83825I PHY
...
Signed-off-by: Michal Lenc <lencmich@fel.cvut.cz>
2020-11-20 20:34:57 -03:00
dongjiuzhu
23ddeaf3be
mm/circbuf: support circular buffer managerment
...
N/A
Change-Id: Ib1fc009b9ce3af5815920f22221fe8a7262299ef
Signed-off-by: dongjiuzhu <dongjiuzhu1@xiaomi.com>
2020-11-20 05:33:03 -08:00
dongjiuzhu
024f15489e
mm/circbuf: delete underscore about circular buffer naming conventions
...
N/A
Change-Id: I66e08cdbe8b4c23948ebc20c2a29d9ef9f4156ab
Signed-off-by: dongjiuzhu <dongjiuzhu1@xiaomi.com>
2020-11-20 16:52:42 +08:00
dongjiuzhu
e3022f8d13
driver/sensors: support custom types of sensor.
...
N/A
Change-Id: Ib60831c8ab4a9fdcacde50851934440cabf093cb
Signed-off-by: dongjiuzhu <dongjiuzhu1@xiaomi.com>
2020-11-20 13:43:14 +08:00
dongjiuzhu
60d1755e04
drivers: l3gd20 supports the sensor driver model
...
Signed-off-by: dongjiuzhu <dongjiuzhu1@xiaomi.com>
2020-11-19 18:13:17 -08:00
YAMAMOTO Takashi
f1aab27c92
include/nuttx/streams.h: Sprinkle scanflike
2020-11-19 18:03:04 -08:00
YAMAMOTO Takashi
b90809d5f0
stdio.h: Sprinkle scanflike
2020-11-19 18:03:04 -08:00
YAMAMOTO Takashi
d167ec6038
compiler.h: Add scanflike macro
2020-11-19 18:03:04 -08:00
YAMAMOTO Takashi
1f6d54fde4
include/nuttx/streams.h: Add printflike
2020-11-19 18:03:04 -08:00
YAMAMOTO Takashi
7e702817c1
stdio.h: Sprinkle printflike attribute
2020-11-19 18:03:04 -08:00
YAMAMOTO Takashi
eb406a8394
compiler.h: Add printflike macro
...
The name was inspired from NetBSD's __printflike.
We can add similar macros for __syslog__, __scanf__, __format_arg__
later.
2020-11-19 18:03:04 -08:00
YAMAMOTO Takashi
6ee7fdf874
include/inttypes.h: Provide PRIdMAX and friends using 'j' modifier
...
Replace definitions in other places.
2020-11-19 00:49:56 -08:00
YAMAMOTO Takashi
c10a8dc73b
include/stdint.h: Use _uintmax_t and _intmax_t from arch types.h
...
As we do for other intXX_t types.
2020-11-19 00:49:56 -08:00
Alan C. Assis
e7c99480ea
Fix nxstyle issue existing on fs/ioctl.h
2020-11-18 22:21:53 +01:00