[ros-kernel] iphlpapi status

art yerkes ayerkes at speakeasy.net
Fri Mar 5 00:28:17 CET 2004


Our iphlpapi can now add and delete routes as well as provide information.  
I think this would be a good time put adding and deleteing routes in
our tcpip.sys

Currently, our iphlpapi works fine with win2k route.exe.  I'm going to
port busybox route as soon as I get to it, so that we have something
of our own.

The part that reads routes should be fairly self-explanatory, and is 
almost documented.  The writing part is not.  Attached are some notes
I took while finding out how it works.

The only other thing to know is that the route manipulation functions
are in the new file lib/iphlpapi/route_reactos.c
-- 
IBM had little or no expertise on Intel processors.
 -- paragraph 54, SCO v IBM, second amended complaint
No matter how cynical you become, it's never enough to keep up.
 -- Lily Tomlin
-------------- next part --------------
Add

NtDeviceIoControl:
IoControlCode: 00128004
InputBuffer:
00000000: 01 03 00 00 00 00 00 00 00 02 00 00 00 01 00 00
          tei_entity  tei_instanc toi_class   toi_type
00000010: 01 01 00 00 34 00 00 00 0a 0a 00 64 02 00 00 00
          toi_id      length      ire_dest    ire_index
00000020: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
          ire_metric1 ...
00000030: 0a 0a 01 66 03 00 00 00 03 00 00 00 ff ff ff ff
          ire_gw      ire_type    ire_proto   ire_age
00000040: ff ff ff ff 00 00 00 00 00 00 00 00 18 07 08
          ire_mask    ire_metric5 ire_info
NtDeviceIoControl: Status was 00000000

          IpRouteEntry ::=
              SEQUENCE {
                  ipRouteDest
                      IpAddress,
                  ipRouteIfIndex
                      INTEGER,
                  ipRouteMetric1
                      INTEGER,
                  ipRouteMetric2
                      INTEGER,
                  ipRouteMetric3
                      INTEGER,
                  ipRouteMetric4
                      INTEGER,
                  ipRouteNextHop
                      IpAddress,
                  ipRouteType
                      INTEGER,
                  ipRouteProto
                      INTEGER,
                  ipRouteAge
                      INTEGER,
                  ipRouteMask
                      IpAddress,
                  ipRouteMetric5
                      INTEGER,

Delete

NtDeviceIoControl: Status was 00000000
NtDeviceIoControl:
IoControlCode: 00128004
InputBuffer:
00000000: 01 03 00 00 00 00 00 00 00 02 00 00 00 01 00 00
          tei_entity  tei_instanc toi_class   toi_type
00000010: 01 01 00 00 34 00 00 00 0a 0a 00 64 02 00 00 00
          toi_id      length      ire_dest    ire_index
00000020: 01 00 00 00 ff ff ff ff ff ff ff ff ff ff ff ff
          ire_metric1 ...
00000030: 0a 0a 01 66 02 00 00 00 03 00 00 00 39 00 00 00
          ire_gw      ire_type    ire_proto   ire_age
00000040: ff ff ff ff ff ff ff ff 00 00 00 00 00 0c 08
          ire_mask    ire_metric5 ire_info


More information about the Ros-kernel mailing list