Petro Karashchenko
282cf2f7d0
sys/socket: implement compiler agnostic sockaddr_storage alignment
...
'aligned_data' is compiler dependent, but Open Group Base Specifications
describe compiler agnostic solution that can be used:
https://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/socket.h.html
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2024-08-26 10:25:05 +08:00
Petro Karashchenko
1528b8dcca
nuttx: resolve various 'FAR' and 'CODE' issues
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2024-08-26 10:21:03 +08:00
Petro Karashchenko
d499ac9d58
nuttx: fix multiple 'FAR', 'CODE' and style issues
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2024-08-25 19:22:15 +08:00
zhanghongyu
53a72a31fb
sys/socket.h: add the definition of SCM_TIMESTAMP.
...
Third-party library lcm will use SCM_TIMESTAMP macro definition
Signed-off-by: zhanghongyu <zhanghongyu@xiaomi.com>
2024-05-15 16:12:10 +08:00
anjiahao
d5981375a6
Support gcc FORTIFY_SOURCE features for nuttx libc
...
This function will use gcc's function
__builtin_dynamic_object_size and __builtin_object_size
Its function is to obtain the size of the object through compilation,
so as to judge whether there are out-of-bounds operations in commonly used functions.
It should be noted that the option -O2 and above is required to enable this function
Signed-off-by: anjiahao <1090959677@qq.com>
2023-06-22 20:38:45 +08:00
SPRESENSE
54112ac070
drivers/modem/alt1250: Update alt1250 driver
...
Updated alt1250 driver with regarding to the following changes.
- Add LTE hibernation feature
- Split source code per module
- Some refactoring
- Some bug fixes
2023-06-08 07:48:17 +02:00
SPRESENSE
277e0b941a
include/sys/socket.h: Add SOCK_CTRL to socket type
...
SOCK_CTRL is added to provide special control over network drivers
and daemons. Currently, SOCK_DGRAM and SOCK_STREAM perform this control,
but these use socket resources. In the case of usersocket in particular,
this is a waste of the device's limited socket resources.
2023-02-16 12:13:01 +09:00
Masayuki Ishikawa
3f3e090716
Revert "include/sys/socket.h: Add SOCK_CTRL to socket type"
...
This reverts commit abba05a934
.
2023-02-09 09:13:14 +01:00
SPRESENSE
abba05a934
include/sys/socket.h: Add SOCK_CTRL to socket type
...
SOCK_CTRL is added to provide special control over network drivers
and daemons. Currently, SOCK_DGRAM and SOCK_STREAM perform this control,
but these use socket resources. In the case of usersocket in particular,
this is a waste of the device's limited socket resources.
2023-02-08 20:43:33 +08:00
Xiang Xiao
d92dc45a80
vfs: Suppoprt F_DUPFD_CLOEXEC and MSG_CMSG_CLOEXEC
...
https://pubs.opengroup.org/onlinepubs/9699919799/functions/fcntl.html
https://linux.die.net/man/2/recvmsg
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-02-02 01:00:10 +02:00
luojun1
8a5dc0ba12
Force sockaddr_storage to the desired alignment
...
First configure nuttx to support ipv4 and ipv6 dual stack,
then start two simulators and run Iperf ipv4 udp speed test,
unaligned access exception to sockaddr_in occours.
The root cause is that struct sockaddr_storage isn't set to
the desired alignment.
Signed-off-by: luojun1 <luojun1@xiaomi.com>
2023-02-01 09:46:21 -03:00
zhanghongyu
48c9d10336
net_socket: add accept4 function
...
Signed-off-by: zhanghongyu <zhanghongyu@xiaomi.com>
2023-01-11 23:28:08 +08:00
dongjiuzhu1
5d643b3bef
sys/socket/scm: return NULL when cmsg_len is zero
...
Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2022-12-29 13:25:24 +08:00
dongjiuzhu1
ccf0c3566e
net/local: support cmd SO_PEERCRED
...
the credentials of the peer process connected to this socket.
refs:https://man7.org/linux/man-pages/man7/unix.7.html
Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2022-11-23 15:01:54 +08:00
Xiang Xiao
6b31918b42
Remove the unnecessary cast for main_t, NULL and argv
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-10-18 08:51:45 +02:00
chao.an
9cb17841d8
net/sockopt: move BINDTODEVICE to socket level
...
rename the UDP_BINDTODEVICE to SO_BINDTODEVICE to follow the linux
style to be compatible with non-UDP protocol binding requirements
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-08-25 17:56:52 +08:00
Jiuzhu Dong
6ec006ee02
socket: extend socket_storage for rpmsg_socket addrinfo
...
rexecd.c: In function 'rexecd_main':
rexecd.c:191:9: warning: array subscript 18 is outside array bounds of 'struct sockaddr_storage[1]' [-Warray-bounds]
191 | snprintf(((FAR struct sockaddr_rpmsg *)&addr)->rp_name,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
192 | RPMSG_SOCKET_NAME_SIZE, "%d", REXECD_PORT);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
rexecd.c:142:27: note: while referencing 'addr'
142 | struct sockaddr_storage addr;
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2022-01-05 02:05:49 +08:00
ligd
131e8dc7e7
socket.h: set SOMAXCONN default value to 8
...
Signed-off-by: ligd <liguiding1@xiaomi.com>
2021-11-01 13:52:10 -05:00
chao.an
e8d7779ab1
sys/socket/scm: add more socket message control helper
...
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-09-15 12:04:01 +08:00
Huang Qi
45dc778865
sys/socket.h: Add "Socket"-level control message types
...
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
Change-Id: I05f8dd29501f6b06cdd278e0e416f210a98aa6b0
2021-04-03 01:02:07 -05:00
ligd
70442d1f9d
net/socket_rpmsg: add net socket rpmsg support
...
Change-Id: Ie23ee4c0052cf2fc66972ea9bc5f11c070fbcf8a
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-03-07 01:45:51 -08:00
Peter Bee
e223f60c09
net/socket: move si_send/recv into sendmsg/recvmsg
...
Implement si_send/sendto/recvfrom with si_sendmsg/recvmsg, instead of
the other way round.
Change-Id: I7b858556996e0862df22807a6edf6d7cfe6518fc
Signed-off-by: Peter Bee <bijunda1@xiaomi.com>
2021-03-05 04:46:13 -08:00
Alin Jerpelea
9b9be7e1f0
include: Author: Gregory Nutt: update licenses to Apache 2.0
...
Update files from Gregory Nutt to Apache 2.0 license.
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-02-04 03:33:58 -08:00
danguanghua
7d33f73e27
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>
2021-01-03 20:56:27 -06:00
chao.an
e5f6dafe1f
net/socket: add SOCK_CLOEXEC/SOCK_NONBLOCK support
...
Reference here:
https://github.com/torvalds/linux/blob/master/include/linux/net.h
Change-Id: I9fd0170bcd1ae7e778e951d454ada76f63854de5
Signed-off-by: chao.an <anchao@xiaomi.com>
2020-08-17 23:38:18 -05:00
chao.an
b296adc3bb
socket/SOL: sync the SOL index with linux
...
Change-Id: I32b9eb7cc3bc1428f0ff7bf5e60d7fff52621db2
Signed-off-by: chao.an <anchao@xiaomi.com>
2020-06-29 11:34:43 -05:00
Peter van der Perk
55d9e5f7af
net: Add SocketCAN support
2020-06-15 08:07:19 -06:00
Xiang Xiao
a2d924eea4
syscall: Fix typo error in cvs and header file
...
and reoder the entry in cvs file
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-05-07 10:31:05 -06:00
Xiang Xiao
3ae5f52757
Add FAR for pointer type for socket header files
2020-01-31 13:45:15 -06:00
Gregory Nutt
bda0a9c6a7
net/netlink: Fix offset in rtattr. include/net/route.h: Correct form and naming of sruct rtentry. include/netpacket/netlink.h: Add some definitions that will be needed to access routing tables.
2019-11-10 12:35:15 -06:00
Gregory Nutt
8c85ecf531
net/netlink/netlink_route.c: Add support for the NETLINK_ROUTE RTM_GETLINK command that is used to obtain a list of all devices in the UP state.
2019-11-09 17:36:30 -06:00
Xiang Xiao
e0e18fcc74
include/net and include/sys: align the constant values with values in the linux kernel which makes targeting the usrsock server to Linux kernel easier.
2018-11-09 11:50:00 -06:00
ligd
4a8b750ecd
ibs/libc/net: Add basic implementation for recvmsg and sendmsg per OpenGroup.org specification.
2018-11-09 11:39:05 -06:00
zhangyuan7
f036e2a32a
net/tcp/tcp_backlog.c: Add SOMAXCONN definition and implementaton per OpenGroup.org.
2018-11-09 11:20:33 -06:00
Gregory Nutt
11cc274eef
Trivial, cosmetic changes from review of last PR.
2018-10-28 06:55:20 -06:00
Gregory Nutt
bbd8cfbfb5
include/sys/socket.h: With increased size of struct sockaddr_in6 of commit 55f31f03f9
, the size of struct sockaddr_storage in include/sys/socket.h must also be increase so that it can contain the new, larger sockaddr_in6.
2018-10-27 14:10:46 -06:00
Gregory Nutt
0939fd479f
include/sys/socket.h: Renumber the socket types. They must begin at 1, not zero. Socket type zero has a special meaning for some interfaces. For example, getaddrinfo() uses a socket type of zero to many any type of socket. The is no standard name for the any-type-socket, but macOS uses SOCK_UNSPEC. NuttX will do the same. Issue noted by Anthony Merlino.
2018-09-24 14:58:59 -06:00
Gregory Nutt
056d704cf9
This commit brings in a fragmentary, experimental implementation of NETLINK sockets. There is not too much to that socket support on this initial commit, just the netlink socketer framework. However, I decided to bring it into master because there is a enough that I would not want to lose what is in place. And since it is dependent on CONFIG_EXPERIMENATL, its presence on master should be innocuous.
...
Squashed commit of the following:
net/netlink: Mark netlink support as EXPERIMENTAL.
net/netlink/netlink_sockif.c: Add netlink_getpeername to the socket interface.
net: Add getpeeername() support for netlink sockets.
include/netpacket/netlink.h: Add a few more definitions and structures used at the NetLink interface. Still missing many.
net/netlink: Add basic framework for Netlink socket support.
include/: Add basic Netlink definitions.
2018-08-03 13:22:36 -06:00
ligd
e840038f2d
net/ and include/nuttx/net: Add getpeername() support
2018-07-19 07:16:30 -06:00
Sebastien Lorquet
8fa3f54ba9
include/sys/socket.h: Break up some long lines
2018-06-22 12:34:31 -06:00
Gregory Nutt
f7bcad502a
Bluetooth: Bring in some definitions from NetBSD. Update some usage and naming to be more consistent.
2018-03-31 16:31:51 -06:00
Gregory Nutt
d62649757c
wireless/bluetooth and include/nutt/net: Add support for Bluetooth IOCTL commands.
2018-03-30 10:50:44 -06:00
Gregory Nutt
251924a734
Squashed commit of the following:
...
net/tcp: Add logic to send probes when SO_KEEPALIVE is enabled.
net/tcp: TCP socket should not have to be connected to configure KeepAlive.
net/: Add a separate configuration to enable/disable KEEPALIVE socket options.
net/tcp: Arguments to TCP keep-alive timing functions probably should be struct timeval as are the times for other time-related socket options.
net/tcp: Fix a backward conditional
net/tcp: Add some more checks and debug output to TCP-protocol socket options.
net/tcp: Cosmetic changes to some alignment.
net/: Adds socket options needed to manage TCP-keepalive and TCP state machine logic to detect if that the remote peer is alive. Still missing the timer poll logic to send the keep-alive probes and the state machine logic to respond to probes.
2018-03-12 10:59:46 -06:00
Gregory Nutt
f81ef55834
Trivial re-ordering of socket option bit numbers to match order presented on OpenGroup.org.
2017-11-12 08:17:46 -06:00
Gregory Nutt
b0e30afd96
include/netinet/tcp.h: Add trivial standard tcp.h header file.
2017-11-12 08:04:54 -06:00
Gregory Nutt
5c2e740ce3
Cosmetic change.
2017-11-01 13:57:07 -06:00
Gregory Nutt
fe7933ce0b
Add include/net/ieee802154.h
2017-08-17 15:25:52 -06:00
Gregory Nutt
300edb9b0f
Update ChangeLog
2016-02-27 10:37:42 -06:00
Gregory Nutt
3c5cd96646
Remove definitions for unsupported protocol families and address families
2016-02-27 07:59:26 -06:00
Gregory Nutt
fdddebbffd
net/: Finish IEEE802154->6LOWPAN renaming; remove PF_IEEE804154; Move 6LoWPAN menu to inside Internet Protocol Menu
2016-02-27 07:26:20 -06:00