Add getpeername(2) and getsockname(2).
This commit is contained in:
parent
3760420fbb
commit
a8a8154adc
|
@ -169,6 +169,8 @@
|
|||
#define SYSCALL_SETSOCKOPT 141
|
||||
#define SYSCALL_TCGETBLOB 142
|
||||
#define SYSCALL_TCSETBLOB 143
|
||||
#define SYSCALL_MAX_NUM 144 /* index of highest constant + 1 */
|
||||
#define SYSCALL_GETPEERNAME 144
|
||||
#define SYSCALL_GETSOCKNAME 145
|
||||
#define SYSCALL_MAX_NUM 146 /* index of highest constant + 1 */
|
||||
|
||||
#endif
|
||||
|
|
|
@ -1064,6 +1064,22 @@ static ssize_t sys_tcsetblob(int fd, const char* name, const void* buffer, size_
|
|||
return result;
|
||||
}
|
||||
|
||||
static int sys_getpeername(int fd, struct sockaddr* addr, socklen_t* addrsize)
|
||||
{
|
||||
(void) fd;
|
||||
(void) addr;
|
||||
(void) addrsize;
|
||||
return errno = ENOSYS, -1;
|
||||
}
|
||||
|
||||
static int sys_getsockname(int fd, struct sockaddr* addr, socklen_t* addrsize)
|
||||
{
|
||||
(void) fd;
|
||||
(void) addr;
|
||||
(void) addrsize;
|
||||
return errno = ENOSYS, -1;
|
||||
}
|
||||
|
||||
void Init()
|
||||
{
|
||||
Syscall::Register(SYSCALL_ACCEPT4, (void*) sys_accept4);
|
||||
|
@ -1090,6 +1106,8 @@ void Init()
|
|||
Syscall::Register(SYSCALL_FSYNC, (void*) sys_fsync);
|
||||
Syscall::Register(SYSCALL_FTRUNCATE, (void*) sys_ftruncate);
|
||||
Syscall::Register(SYSCALL_FUTIMENS, (void*) sys_futimens);
|
||||
Syscall::Register(SYSCALL_GETPEERNAME, (void*) sys_getpeername);
|
||||
Syscall::Register(SYSCALL_GETSOCKNAME, (void*) sys_getsockname);
|
||||
Syscall::Register(SYSCALL_GETSOCKOPT, (void*) sys_getsockopt);
|
||||
Syscall::Register(SYSCALL_GETTERMMODE, (void*) sys_gettermmode);
|
||||
Syscall::Register(SYSCALL_IOCTL, (void*) sys_ioctl);
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*******************************************************************************
|
||||
|
||||
Copyright(C) Jonas 'Sortie' Termansen 2013.
|
||||
Copyright(C) Jonas 'Sortie' Termansen 2013, 2014.
|
||||
|
||||
This file is part of the Sortix C Library.
|
||||
|
||||
|
@ -23,12 +23,14 @@
|
|||
*******************************************************************************/
|
||||
|
||||
#include <sys/socket.h>
|
||||
#include <sys/syscall.h>
|
||||
|
||||
#include <errno.h>
|
||||
#include <stdio.h>
|
||||
DEFN_SYSCALL3(int, sys_getpeername, SYSCALL_GETPEERNAME, int, struct sockaddr*, socklen_t*);
|
||||
|
||||
extern "C" int getpeername(int, struct sockaddr* restrict, socklen_t* restrict)
|
||||
extern "C"
|
||||
int getpeername(int fd,
|
||||
struct sockaddr* restrict addr,
|
||||
socklen_t* restrict addrsize)
|
||||
{
|
||||
fprintf(stderr, "%s is not implemented yet.\n", __func__);
|
||||
return errno = ENOSYS, -1;
|
||||
return sys_getpeername(fd, addr, addrsize);
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*******************************************************************************
|
||||
|
||||
Copyright(C) Jonas 'Sortie' Termansen 2013.
|
||||
Copyright(C) Jonas 'Sortie' Termansen 2013, 2014.
|
||||
|
||||
This file is part of the Sortix C Library.
|
||||
|
||||
|
@ -23,12 +23,14 @@
|
|||
*******************************************************************************/
|
||||
|
||||
#include <sys/socket.h>
|
||||
#include <sys/syscall.h>
|
||||
|
||||
#include <errno.h>
|
||||
#include <stdio.h>
|
||||
DEFN_SYSCALL3(int, sys_getsockname, SYSCALL_GETSOCKNAME, int, struct sockaddr*, socklen_t*);
|
||||
|
||||
extern "C" int getsockname(int, struct sockaddr* restrict, socklen_t* restrict)
|
||||
extern "C"
|
||||
int getsockname(int fd,
|
||||
struct sockaddr* restrict addr,
|
||||
socklen_t* restrict addrsize)
|
||||
{
|
||||
fprintf(stderr, "%s is not implemented yet.\n", __func__);
|
||||
return errno = ENOSYS, -1;
|
||||
return sys_getsockname(fd, addr, addrsize);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue