From 30b1f9fd87534317de773cadce26dbb2052c4952 Mon Sep 17 00:00:00 2001 From: Eduardo Cavazos Date: Tue, 13 Nov 2007 17:45:01 -0600 Subject: [PATCH 1/3] 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 ; From 484d5cad2fb03bd5082b61d8134d525d1857ee77 Mon Sep 17 00:00:00 2001 From: Eduardo Cavazos Date: Tue, 13 Nov 2007 17:47:05 -0600 Subject: [PATCH 2/3] Minor change to factory-menus --- extra/factory/factory-menus | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extra/factory/factory-menus b/extra/factory/factory-menus index 768906029c..dd5dc29378 100644 --- a/extra/factory/factory-menus +++ b/extra/factory/factory-menus @@ -105,7 +105,7 @@ factory-menu> set-menu-items ! VAR: root-menu -{ { "xterm" [ "xterm &" system drop ] } +{ { "xterm" [ "urxvt -bd grey +sb &" system drop ] } { "Firefox" [ "firefox &" system drop ] } { "xclock" [ "xclock &" system drop ] } { "Apps >" [ apps-menu> <- popup ] } From 78eca97340779388bb52307895e5b4c56c5b3972 Mon Sep 17 00:00:00 2001 From: Eduardo Cavazos Date: Tue, 13 Nov 2007 19:20:42 -0600 Subject: [PATCH 3/3] Add unix.linux.ifreq --- extra/unix/linux/ifreq/ifreq.factor | 67 +++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 extra/unix/linux/ifreq/ifreq.factor diff --git a/extra/unix/linux/ifreq/ifreq.factor b/extra/unix/linux/ifreq/ifreq.factor new file mode 100644 index 0000000000..c75ee9a5e4 --- /dev/null +++ b/extra/unix/linux/ifreq/ifreq.factor @@ -0,0 +1,67 @@ + +USING: kernel alien alien.c-types + io.sockets + io.sockets.impl + unix + unix.linux.sockios + unix.linux.if ; + +IN: unix.linux.ifreq + +: set-if-addr ( name addr -- ) + "struct-ifreq" + rot string>char-alien over set-struct-ifreq-ifr-ifrn + swap 0 make-sockaddr over set-struct-ifreq-ifr-ifru + + AF_INET SOCK_DGRAM 0 socket SIOCSIFADDR rot ioctl drop ; + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +: set-if-flags ( name flags -- ) + "struct-ifreq" + rot string>char-alien over set-struct-ifreq-ifr-ifrn + swap over set-struct-ifreq-ifr-ifru + + AF_INET SOCK_DGRAM 0 socket SIOCSIFFLAGS rot ioctl drop ; + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +: set-if-dst-addr ( name addr -- ) + "struct-ifreq" + rot string>char-alien over set-struct-ifreq-ifr-ifrn + swap 0 make-sockaddr over set-struct-ifreq-ifr-ifru + + AF_INET SOCK_DGRAM 0 socket SIOCSIFDSTADDR rot ioctl drop ; + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +: set-if-brd-addr ( name addr -- ) + "struct-ifreq" + rot string>char-alien over set-struct-ifreq-ifr-ifrn + swap 0 make-sockaddr over set-struct-ifreq-ifr-ifru + + AF_INET SOCK_DGRAM 0 socket SIOCSIFBRDADDR rot ioctl drop ; + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +: set-if-netmask ( name addr -- ) + "struct-ifreq" + rot string>char-alien over set-struct-ifreq-ifr-ifrn + swap 0 make-sockaddr over set-struct-ifreq-ifr-ifru + + AF_INET SOCK_DGRAM 0 socket SIOCSIFNETMASK rot ioctl drop ; + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +: set-if-metric ( name metric -- ) + "struct-ifreq" + rot string>char-alien over set-struct-ifreq-ifr-ifrn + swap over set-struct-ifreq-ifr-ifru + + AF_INET SOCK_DGRAM 0 socket SIOCSIFMETRIC rot ioctl drop ; + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +USING: words quotations sequences math macros ; + +MACRO: flags ( seq -- ) 0 swap [ execute bitor ] each 1quotation ; \ No newline at end of file