/*
 * grifo_eth_ports.h
 *
 *  Created on: 02/ott/2017
 *      Author: chessaa
 */

#ifndef GRIFO_INET_PORTS_H_
#define GRIFO_INET_PORTS_H_

#include <stdint.h>

namespace grifo_inet
{

enum port_id_t
{
	rex_control_port=50000,

	rex_interrupts_emulation=50010,

	rex_scope_client_base_port= 50100,
	rex_scope_eif=rex_scope_client_base_port+1,
	rex_scope_dfe=rex_scope_client_base_port+2,
	rex_scope_dsp0=rex_scope_client_base_port+3,

	rex_eif=52001,
	rex_dfe=52002,
	rex_dfe_2=52003,

	rex_dsp0=52010,
	rex_dsp1=52011,
	rex_dsp2=52012,
	rex_dsp3=52013,
	rex_dsp4=52014,

	rex_eif_ip_sc=52050,

	rex_corefpga=52100,

	rex_ext_tgt_sim=52200,

	rex_scope_listener_prefered=50200,

	display_video_remote_prefered= 51000,
	display_video_image_out	= 51001,

	xlru_simulator_master=51010,
	xlru_simulator_slaves=51011,

	avb1553_rt = 51553,
	avb1553_bc_prefered = 61553,	//!this is a preferred port, maybe configured for smart capture in whireshark, but the BC is free to use any free port

	rex_invalid_port=62000
};


enum iemul_id_t
{
	iemul_none=0,

	iemul_timetag_synch,
	iemul_batch

};

struct iemul_info_t
{
	uint32_t timetag;
	uint32_t tgt_mask;
	uint32_t intr_mask;	//see iemul_id_t
	uint32_t even_info;
	uint32_t spare[32];
};

}//namespace

#endif /* GRIFO_INET_PORTS_H_ */
