Make socket port binding a separate step with ipc_netsockbindport() syscall

This commit is contained in:
2025-10-29 22:33:41 +01:00
parent 4417141216
commit d947192475
10 changed files with 54 additions and 15 deletions

View File

@ -143,8 +143,8 @@ int32_t time(Time *time) {
return syscall(SYS_TIME, (uint64_t)time, 0, 0, 0, 0, 0);
}
int32_t ipc_netsockmake(uint16_t net, uint16_t proto, uint16_t port) {
return syscall(SYS_IPC_NETSOCKMAKE, (uint64_t)net, (uint64_t)proto, (uint64_t)port, 0, 0, 0);
int32_t ipc_netsockmake(uint16_t net, uint16_t proto) {
return syscall(SYS_IPC_NETSOCKMAKE, (uint64_t)net, (uint64_t)proto, 0, 0, 0, 0);
}
int32_t ipc_netsocklisten(uint64_t netsock, size_t maxlisteners) {
@ -158,3 +158,7 @@ int32_t ipc_netsockpollev(uint64_t netsock) {
int32_t ipc_netsockdelete(uint64_t netsock) {
return syscall(SYS_IPC_NETSOCKDELETE, (uint64_t)netsock, 0, 0, 0, 0, 0);
}
int32_t ipc_netsockbindport(uint64_t netsock, uint16_t port) {
return syscall(SYS_IPC_NETSOCKBINDPORT, (uint64_t)netsock, (uint64_t)port, 0, 0, 0, 0);
}

View File

@ -44,9 +44,10 @@ int32_t dev_listsize(void);
int32_t dev_stat(DevStat *devstatbuf, size_t idx);
int32_t dev_cmd(Dev_t *dev, uint64_t cmd, void *buf, size_t len);
int32_t time(Time *time);
int32_t ipc_netsockmake(uint16_t net, uint16_t proto, uint16_t port);
int32_t ipc_netsockmake(uint16_t net, uint16_t proto);
int32_t ipc_netsocklisten(uint64_t netsock, size_t maxlisteners);
int32_t ipc_netsockpollev(uint64_t netsock);
int32_t ipc_netsockdelete(uint64_t netsock);
int32_t ipc_netsockbindport(uint64_t netsock, uint16_t port);
#endif // ULIB_SYSTEM_SYSTEM_H_