package embox.net.lib

module arp {
	source "arp.c"

	@NoRuntime depends embox.compat.libc.assert
	@NoRuntime depends embox.compat.libc.str
}

module bootp {
	source "bootp.c"
}

//TODO this is a Linux-BSD compatible
module getifaddrs {
	option number amount_ifaddrs=3
	source "getifaddrs.c"

	@IncludeExport
	source "ifaddrs.h"

	depends embox.mem.pool
	depends embox.net.core
}

module icmpv4 {
	source "icmpv4.c"

	@NoRuntime depends embox.compat.libc.assert
	@NoRuntime depends embox.compat.libc.str
	@NoRuntime depends embox.net.lib.ipv4
}

module icmpv6 {
	source "icmpv6.c"

	@NoRuntime depends embox.compat.libc.assert
	@NoRuntime depends embox.compat.libc.str
	@NoRuntime depends embox.net.lib.ipv6
}

module ipv4 {
	source "ipv4.c"

	@NoRuntime depends embox.compat.libc.assert
}

module ipv6 {
	source "ipv6.c"

	@NoRuntime depends embox.compat.libc.assert
	@NoRuntime depends embox.compat.libc.str
}

module ntp {
	source "ntp.c"

	depends embox.kernel.time.kernel_time
}

module pop3 {
	source "pop3.c"

	depends embox.compat.posix.net.gethostbyname
	depends embox.compat.posix.net.socket
}

module smtp {
	source "smtp.c"

	depends embox.lib.LibCrypt
	depends embox.compat.posix.net.gethostbyname
	depends embox.compat.posix.net.socket
}

module tcp {
	source "tcp.c"

	@NoRuntime depends embox.compat.libc.assert
	@NoRuntime depends embox.net.lib.ipv4
	@NoRuntime depends embox.net.lib.ipv6
}

module udp {
	source "udp.c"

	@NoRuntime depends embox.compat.libc.assert
	@NoRuntime depends embox.net.lib.ipv4
	@NoRuntime depends embox.net.lib.ipv6
}
