The OS/2 support is from Kyosuke TOKORO <firstname.lastname@example.org> (or
P.S. There's a great chance that I might have broken it since then. Send me
patches if you want it back. Also send me patches if you want it to work on
non-Linux Unix systems - it should be pretty easy to do.
o Removed htons() to set the `ip_len' element.
This function causes the netselect.exe to hung. It is not required
to set the `ip_len' on the OS/2 systems (and on the BSD systems, I
o Added code to check the `EHOSTUNREACH' error and some others. They may
be returned from sendto().
o Added _response() to expand a response file (@filename, the file filename
contains a list of arguments, one per line).
`netselect $(cat foo)' does not work when the shell is CMD.EXE. Type
`netselect @foo' instead.
_response() is an orignail function supported by the `emx.'
o Switch the mode of an unnamed pipe to binary from text (default).
On the OS/2 and the Windows operating systems, if pipe handle has been
created for reading in text mode, CR/LF pairs are translated to newline
characters and a Ctrl-Z character is discarded. And, if pipe has been
created for writing in text mode, newline characters are translated to
CR/LF pairs. These translations cause problem.
I don't know why the netselect has own `netinet/' headers.
May I compile the netselect with including standard headers in `/usr
/include/netinet/ (on the Debian GNU linux systems)' directory?
I compiled for the OS/2 systems with including the netselect's own
`netinet/' headers, instead of the headers in `/emx/include/netinet/'
o The size of network messages is restricted to 32767 bytes. This is a
limitation of IBM TCP/IP for OS/2.
o To build OS/2 binary, type:
o To install on OS/2 system, type:
make OS2=1 install
GNU fileutil is required. But, `install -s netselect.exe' does not
work correctly. Because the OS/2 executable file is not in the a.out
format. `emxbind -s -b' will be executed to delete symbols and to
create bound an `.exe' file.
o `# (comment)' characters are moved to the top of each line.
When there is a tab character at the top of the line, GNU make executes
the shell. When the shell is `/bin/sh' or something ported from unix.
a `#' starts a comment that extends to the end of the line. But, the
native OS/2 shell (CMD.EXE) does not recognize `#' as a comment. To
resolve this problem, use the Makefile comments, instead of the shell
comments. When there is a `#' character at the top of line, GNU make
recognizes its line as own comment, and does not execute shell.
o fork() works only in programs linked by ld. It does not work in programs
linked by LINK386 (OS/2 native linker). This is a limitation of the
o Added Debian mirrors in Japan.