From 30b1f9fd87534317de773cadce26dbb2052c4952 Mon Sep 17 00:00:00 2001 From: Eduardo Cavazos Date: Tue, 13 Nov 2007 17:45:01 -0600 Subject: [PATCH] Add route word to unix.linux.route --- extra/unix/linux/route/route.factor | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/extra/unix/linux/route/route.factor b/extra/unix/linux/route/route.factor index 630a856042..c4eeadb69e 100644 --- a/extra/unix/linux/route/route.factor +++ b/extra/unix/linux/route/route.factor @@ -3,6 +3,8 @@ USING: alien.syntax ; IN: unix.linux.route +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + C-STRUCT: struct-rtentry { "ulong" "rt_pad1" } { "struct-sockaddr" "rt_dst" } @@ -37,3 +39,17 @@ C-STRUCT: struct-rtentry : RTF_NOFORWARD HEX: 1000 ; ! Forwarding inhibited. : RTF_THROW HEX: 2000 ; ! Go to next class. : RTF_NOPMTUDISC HEX: 4000 ; ! Do not send packets with DF. + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +USING: kernel alien.c-types io.sockets io.sockets.impl + unix unix.linux.sockios ; + +: route ( dst gateway genmask flags -- ) + >r >r >r >r + "struct-rtentry" + r> 0 make-sockaddr over set-struct-rtentry-rt_dst + r> 0 make-sockaddr over set-struct-rtentry-rt_gateway + r> 0 make-sockaddr over set-struct-rtentry-rt_genmask + r> over set-struct-rtentry-rt_flags + AF_INET SOCK_DGRAM 0 socket SIOCADDRT rot ioctl drop ;