package embox.net

@DefaultImpl(net_entry)
abstract module entry_api {
}

module net_entry extends entry_api {
	option number hnd_priority = 200

	source "net_entry.c"

	depends net_rx
	depends skbuff
	depends embox.kernel.lthread.lthread
}

module net_rx {
	option string log_level="LOG_NONE"
	source "net_rx.c"

	depends net_crypt_api
	depends skbuff
	depends packet
	depends net_pack
	depends af_packet_api /* make af_packet socket receive incoming packets */
	@NoRuntime depends embox.lib.libds
}

module net_tx {
	option string log_level="LOG_NONE"
	source "net_tx.c"

	depends net_entry 
	depends net_crypt_api
	depends skbuff
	depends af_packet_api /* make af_packet socket receive outcoming packets */
	depends neighbour
	depends embox.net.entry_api
	@NoRuntime depends embox.lib.libds
}

@DefaultImpl(net_no_crypt)
abstract module net_crypt_api {
}

module net_no_crypt extends net_crypt_api {
	source "net_no_crypt.c"
}

