add SIOCGIFHWADDR ioctl
add SIOCGIFINDEX ioctl
support negative timeout in poll()
check for zero timeout in select()
base timer on monotonic clock
rework socket fd alllocation
fix some function declarations
support multiple timers
support oneshot timers