I want to group them with Network functions because traditionally these specific functions *are* in networking packages.

On *nix systems, the prototypes reside in <netinet/in.h>. On Windows they reside in <winsock2.h> and one must link against libws2_32.

The package I have locally supports all platforms. It just does a foreign import of the function (and uses a preprocessor definition to pick the calling convention).

One could make an argument to add these sorts of functions to Word and Int packages.

/jve



On Sat, Dec 27, 2008 at 7:14 PM, Chris Kuklewicz <haskell@list.mightyreason.com> wrote:
Are these going to be available on Windows or just Posix systems?

And these are NOT performing network communication.  They are bit manipulations.

I could imagine putting them in/under the Data.Word or Data.Bits more than Network.*

And they should also be made to work with the corresponding Foreign.C.Types of CShort, etc.


John Van Enk wrote:
While working on a project, I discovered that hton[sl] and ntoh[sl] are missing from the networking libraries. It appears there was some justification for this, but I've fallen upon a few instances where things were *not* working as expected. (Specifically when newtype'ing around HostAddress.)

As such, I'm putting together a few extra functions that I think should exist in Network somewhere. I'm calling the package Network.Util (but am open to changes).

Currently this only has:

   * htons
   * htonl
   * ntohs
   * ntohl

Before I drop this on hackage:

  1. Is there a reason I shouldn't do this?
  2. Are there other suggestions for missing functions? (preferably

     cross-platform suggestions)

Thanks all.

/jve


------------------------------------------------------------------------

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe