TOS can be tcp, udp, or icmp.
Normally, a sending host sends an IP datagram with the TOS field set to the
value of 0x00: routine precedence, normal delay, normal throughput, normal
reliability, and normal cost. Routers normally ignore the values in TOS
field and forward all datagrams as if the fields are not set. This is known
as TOS0 routing. However, modern routing protocols such as OSPF and
Integrated IS-IS now support the calculation of routes for each value of the
TOS field.
RFC 1349 describes "Type of Service in the Internet Protocol Suite" in
details. Not sure though if MS implementation is fully adequate.