Maybe reorder these to most likely first? tcp, then pipe, then tty?