#line 2450 "/home/travis/build/felix-lang/felix/src/packages/sdl.fdoc"
  
  
  //Module        : SDL_net_h
  //Timestamp     : 2006/1/8 3:36:0 UTC
  //Timestamp     : 2006/1/8 14:36:0 (local)
  //Raw Header    : /usr/include/SDL/SDL_net.h
  //Preprocessor  : gcc -E
  //Input file: sdl.flxcc.i
  //Flxcc Control : sdl.flxcc
  //Felix Version : 1.1.2_rc1
  
  //#define SDLNet_Read32(areap)          \
  //#define SDLNet_Read32(areap)          \
  //#define SDLNet_Read32(areap)          \
  //#define SDLNet_Read16(areap)          \
  //#define SDLNet_Read16(areap)          \
  //#define SDLNet_Read16(areap)          \
  //#define SDLNet_Write32(value, areap)  \
  //#define SDLNet_Write32(value, areap)  \
  //#define SDLNet_Write32(value, areap)  \
  //#define SDLNet_Write16(value, areap)  \
  //#define SDLNet_Write16(value, areap)  \
  //#define SDLNet_Write16(value, areap)  \
  //#define SDL_DATA_ALIGNED      0
  //#define SDL_DATA_ALIGNED      1
  //#define SDLNet_GetError       SDL_GetError
  //#define SDLNet_SetError       SDL_SetError
  //#define SDLNet_SocketReady(sock) \
  //#define SDLNet_UDP_DelSocket(set, sock) \
  //#define SDLNet_TCP_DelSocket(set, sock) \
  //#define SDLNet_UDP_AddSocket(set, sock) \
  //#define SDLNet_TCP_AddSocket(set, sock) \
  //#define SDLNET_MAX_UDPADDRESSES       4
  //#define SDLNET_MAX_UDPCHANNELS        32
  //#define INADDR_BROADCAST      0xFFFFFFFF
  //#define INADDR_NONE           0xFFFFFFFF
  //#define INADDR_ANY            0x00000000
  //#define _SDLnet_h
  
  // NO NOT USE: Felix has its own networking
  module SDL_net_h
  {
    requires package "sdl";
    header '#include "SDL_net.h"';
  
    //ABSTRACT TYPES
    type SDLNet_GenericSocket = 'SDLNet_GenericSocket';
    type IPaddress = 'IPaddress';
    type UDPpacket = 'UDPpacket';
  
    //PURE INCOMPLETE TYPES
    type _struct__UDPsocket = 'struct _UDPsocket'; //local
    type _struct__SDLNet_SocketSet = 'struct _SDLNet_SocketSet'; //local
    type _struct__TCPsocket = 'struct _TCPsocket'; //local
  
    //TYPE ALIASES
    typedef UDPsocket = &_struct__UDPsocket;
    typedef TCPsocket = &_struct__TCPsocket;
    typedef SDLNet_SocketSet = &_struct__SDLNet_SocketSet;
  
    //PROCEDURES
    proc SDLNet_FreePacket: &UDPpacket;
    proc SDLNet_FreePacketV: &&UDPpacket;
    proc SDLNet_FreeSocketSet: SDLNet_SocketSet;
    proc SDLNet_Quit: 1;
    proc SDLNet_TCP_Close: TCPsocket;
    proc SDLNet_UDP_Close: UDPsocket;
    proc SDLNet_UDP_Unbind: UDPsocket * int;
    proc SDLNet_Write16: uint16 * address;
    proc SDLNet_Write32: uint32 * address;
  
    //FUNCTIONS
    fun SDLNet_AddSocket: SDLNet_SocketSet * SDLNet_GenericSocket -> int;
    fun SDLNet_AllocPacket: int -> &UDPpacket;
    fun SDLNet_AllocPacketV: int * int -> &&UDPpacket;
    fun SDLNet_AllocSocketSet: int -> SDLNet_SocketSet;
    fun SDLNet_CheckSockets: SDLNet_SocketSet * uint32 -> int;
    fun SDLNet_DelSocket: SDLNet_SocketSet * SDLNet_GenericSocket -> int;
    fun SDLNet_Init: 1 -> int;
    fun SDLNet_Read16: address -> uint16;
    fun SDLNet_Read32: address -> uint32;
    fun SDLNet_ResizePacket: &UDPpacket * int -> int;
    fun SDLNet_ResolveHost: &IPaddress * &char * uint16 -> int;
    fun SDLNet_ResolveIP: &IPaddress -> &char;
    fun SDLNet_TCP_Accept: TCPsocket -> TCPsocket;
    fun SDLNet_TCP_GetPeerAddress: TCPsocket -> &IPaddress;
    fun SDLNet_TCP_Open: &IPaddress -> TCPsocket;
    fun SDLNet_TCP_Recv: TCPsocket * address * int -> int;
    fun SDLNet_TCP_Send: TCPsocket * address * int -> int;
    fun SDLNet_UDP_Bind: UDPsocket * int * &IPaddress -> int;
    fun SDLNet_UDP_GetPeerAddress: UDPsocket * int -> &IPaddress;
    fun SDLNet_UDP_Open: uint16 -> UDPsocket;
    fun SDLNet_UDP_Recv: UDPsocket * &UDPpacket -> int;
    fun SDLNet_UDP_RecvV: UDPsocket * &&UDPpacket -> int;
    fun SDLNet_UDP_Send: UDPsocket * int * &UDPpacket -> int;
    fun SDLNet_UDP_SendV: UDPsocket * &&UDPpacket * int -> int;
  }