From: Brett Gordon Date: Tue, 30 Aug 2016 15:33:57 +0000 (-0400) Subject: net_native: add async event for remote shutdown. X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=ddbab5c4445d6e9413783d405d47a1003d5e1f1e;p=FUZIX.git net_native: add async event for remote shutdown. --- diff --git a/Kernel/dev/net/net_native.c b/Kernel/dev/net/net_native.c index 62ea5aa1..16ac86bc 100644 --- a/Kernel/dev/net/net_native.c +++ b/Kernel/dev/net/net_native.c @@ -81,6 +81,12 @@ int netdev_write(void) s->s_iflag |= SI_DATA; wakeup(&s->s_iflag); break; + /* Remote closed connection */ + case NE_SHUTR: + s->s_iflag |= SI_SHUTR; + sd->err = ne.ret; + wakeup_all(s); + break; default: kprintf("netbad %d\n", ne.event); udata.u_error = EOPNOTSUPP; diff --git a/Kernel/include/net_native.h b/Kernel/include/net_native.h index 408f14f0..3d9fed94 100644 --- a/Kernel/include/net_native.h +++ b/Kernel/include/net_native.h @@ -50,6 +50,7 @@ struct sockmsg { #define NE_INIT 4 #define NE_ROOM 5 #define NE_DATA 6 +#define NE_SHUTR 7 struct netevent { uint8_t socket; @@ -64,4 +65,10 @@ struct netevent { #define NET_INIT 0x4401 +int netdev_write(void); +int netdev_read(uint8_t flag); +int netdev_ioctl(uarg_t request, char *data); +int netdev_close(void); + + #endif