Add shutdown(2).
This commit is contained in:
parent
a00d085b81
commit
577f2f700b
|
@ -171,6 +171,7 @@
|
|||
#define SYSCALL_TCSETBLOB 143
|
||||
#define SYSCALL_GETPEERNAME 144
|
||||
#define SYSCALL_GETSOCKNAME 145
|
||||
#define SYSCALL_MAX_NUM 146 /* index of highest constant + 1 */
|
||||
#define SYSCALL_SHUTDOWN 146
|
||||
#define SYSCALL_MAX_NUM 147 /* index of highest constant + 1 */
|
||||
|
||||
#endif
|
||||
|
|
|
@ -1080,6 +1080,13 @@ static int sys_getsockname(int fd, struct sockaddr* addr, socklen_t* addrsize)
|
|||
return errno = ENOSYS, -1;
|
||||
}
|
||||
|
||||
static int sys_shutdown(int fd, int how)
|
||||
{
|
||||
(void) fd;
|
||||
(void) how;
|
||||
return errno = ENOSYS, -1;
|
||||
}
|
||||
|
||||
void Init()
|
||||
{
|
||||
Syscall::Register(SYSCALL_ACCEPT4, (void*) sys_accept4);
|
||||
|
@ -1133,6 +1140,7 @@ void Init()
|
|||
Syscall::Register(SYSCALL_SEND, (void*) sys_send);
|
||||
Syscall::Register(SYSCALL_SETSOCKOPT, (void*) sys_setsockopt);
|
||||
Syscall::Register(SYSCALL_SETTERMMODE, (void*) sys_settermmode);
|
||||
Syscall::Register(SYSCALL_SHUTDOWN, (void*) sys_shutdown);
|
||||
Syscall::Register(SYSCALL_SYMLINKAT, (void*) sys_symlinkat);
|
||||
Syscall::Register(SYSCALL_TCGETBLOB, (void*) sys_tcgetblob);
|
||||
Syscall::Register(SYSCALL_TCGETPGRP, (void*) sys_tcgetpgrp);
|
||||
|
|
|
@ -156,10 +156,9 @@ struct linger
|
|||
#define PF_LOCAL PF_UNIX
|
||||
|
||||
/* TODO: Nicely wrap this in an enum, as in glibc's header? */
|
||||
/* TODO: Should SHUT_RDWR = SHUT_RD | SHUT_WR? */
|
||||
#define SHUT_RD 0
|
||||
#define SHUT_RDWR 1
|
||||
#define SHUT_WR 2
|
||||
#define SHUT_RD (1 << 0)
|
||||
#define SHUT_WR (1 << 1)
|
||||
#define SHUT_RDWR (SHUT_RD | SHUT_WR)
|
||||
|
||||
int accept4(int, struct sockaddr* __restrict, socklen_t* __restrict, int);
|
||||
int accept(int, struct sockaddr* __restrict, socklen_t* __restrict);
|
||||
|
|
|
@ -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,11 @@
|
|||
*******************************************************************************/
|
||||
|
||||
#include <sys/socket.h>
|
||||
#include <sys/syscall.h>
|
||||
|
||||
#include <errno.h>
|
||||
#include <stdio.h>
|
||||
DEFN_SYSCALL2(int, sys_shutdown, SYSCALL_SHUTDOWN, int, int);
|
||||
|
||||
extern "C" int shutdown(int, int)
|
||||
extern "C" int shutdown(int fd, int how)
|
||||
{
|
||||
fprintf(stderr, "%s is not implemented yet.\n", __func__);
|
||||
return errno = ENOSYS, -1;
|
||||
return sys_shutdown(fd, how);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue