#ifndef _MODULE_IO_Address_
#define _MODULE_IO_Address_

#include <__typemap.h>
#include <RT0.oh>
#include <RT0.oh>
#include <Exception.oh>
#include <Object.oh>
#include <IO.oh>
#include <RT0.oh>
#include <Object.oh>
#include <Exception.oh>
typedef struct IO_Address__InetDesc *IO_Address__Inet;
typedef struct IO_Address__InetDesc {
  char __dummy;
} IO_Address__InetDesc;
typedef struct IO_Address__Inet4Desc *IO_Address__Inet4;
typedef struct IO_Address__Inet4Desc {
  OOC_INT32 addr;
} IO_Address__Inet4Desc;
typedef OOC_INT32 IO_Address__Port;
typedef struct IO_Address__SocketDesc *IO_Address__Socket;
typedef struct IO_Address__SocketDesc {
  char __dummy;
} IO_Address__SocketDesc;
typedef struct IO_Address__SocketInetDesc *IO_Address__SocketInet;
typedef struct IO_Address__SocketInetDesc {
  IO_Address__Inet host;
  OOC_INT32 port;
} IO_Address__SocketInetDesc;
typedef OOC_CHAR8 *IO_Address__SockAddr;
typedef struct IO_Address__UnknownHostExceptionDesc *IO_Address__UnknownHostException;
typedef struct IO_Address__UnknownHostExceptionDesc {
  Object__String msg;
  OOC_PTR backtrace[21];
  OOC_INT32 backtraceSize;
} IO_Address__UnknownHostExceptionDesc;
extern IO_Address__Inet4 IO_Address__inet4Loopback;
extern IO_Address__Inet4 IO_Address__inet4Any;
extern IO_Address__Inet4 IO_Address__inet4Broadcast;
extern IO_Address__Inet IO_Address__GetByName(Object__String8 host);
extern Object__String IO_Address__Inet4Desc_ToString(IO_Address__Inet4 addr);
#define _TBN_IO_Address__Inet4Desc_ToString 2
typedef Object__String (*_TBP_IO_Address__Inet4Desc_ToString)(IO_Address__Inet4 addr);
extern OOC_CHAR8 IO_Address__Inet4Desc_Equals(IO_Address__Inet4 addr, Object__Object y);
#define _TBN_IO_Address__Inet4Desc_Equals 0
typedef OOC_CHAR8 (*_TBP_IO_Address__Inet4Desc_Equals)(IO_Address__Inet4 addr, Object__Object y);
extern OOC_INT32 IO_Address__Inet4Desc_HashCode(IO_Address__Inet4 addr);
#define _TBN_IO_Address__Inet4Desc_HashCode 1
typedef OOC_INT32 (*_TBP_IO_Address__Inet4Desc_HashCode)(IO_Address__Inet4 addr);
extern IO_Address__SocketInet IO_Address__GetSocketInet(IO_Address__Inet host, OOC_INT32 port);
extern IO_Address__SockAddr IO_Address__SocketDesc_GetSockAddr(IO_Address__Socket s);
#define _TBN_IO_Address__SocketDesc_GetSockAddr 3
typedef IO_Address__SockAddr (*_TBP_IO_Address__SocketDesc_GetSockAddr)(IO_Address__Socket s);
extern Object__String IO_Address__SocketInetDesc_ToString(IO_Address__SocketInet s);
#define _TBN_IO_Address__SocketInetDesc_ToString 2
typedef Object__String (*_TBP_IO_Address__SocketInetDesc_ToString)(IO_Address__SocketInet s);
extern OOC_CHAR8 IO_Address__SocketInetDesc_Equals(IO_Address__SocketInet s, Object__Object y);
#define _TBN_IO_Address__SocketInetDesc_Equals 0
typedef OOC_CHAR8 (*_TBP_IO_Address__SocketInetDesc_Equals)(IO_Address__SocketInet s, Object__Object y);
extern OOC_INT32 IO_Address__SocketInetDesc_HashCode(IO_Address__SocketInet s);
#define _TBN_IO_Address__SocketInetDesc_HashCode 1
typedef OOC_INT32 (*_TBP_IO_Address__SocketInetDesc_HashCode)(IO_Address__SocketInet s);
extern IO_Address__SockAddr IO_Address__SocketInetDesc_GetSockAddr(IO_Address__SocketInet s);
#define _TBN_IO_Address__SocketInetDesc_GetSockAddr 3
typedef IO_Address__SockAddr (*_TBP_IO_Address__SocketInetDesc_GetSockAddr)(IO_Address__SocketInet s);
extern void OOC_IO_Address_init(void);
extern void OOC_IO_Address_init0(void);

/* run-time meta data */
extern RT0__StructDesc _td_IO_Address__Inet;
extern RT0__StructDesc _td_IO_Address__InetDesc;
extern RT0__StructDesc _td_IO_Address__Inet4;
extern RT0__StructDesc _td_IO_Address__Inet4Desc;
extern RT0__StructDesc _td_IO_Address__Socket;
extern RT0__StructDesc _td_IO_Address__SocketDesc;
extern RT0__StructDesc _td_IO_Address__SocketInet;
extern RT0__StructDesc _td_IO_Address__SocketInetDesc;
extern RT0__StructDesc _td_IO_Address__2025;
extern RT0__StructDesc _td_IO_Address__SockAddr;
extern RT0__StructDesc _td_IO_Address__UnknownHostException;
extern RT0__StructDesc _td_IO_Address__UnknownHostExceptionDesc;
#endif /* _MODULE_IO_Address_ */

/* --- */
