int        main(void)
{
	// ****** BOARD BRING UP *********************************************************************************//
	// some functions for the whole board . i2c and stuff
	// ****** PHY BRING UP *********************************************************************************//
	print_uart("\r\n\n----PHY BRING UP----"); 
	while (read_all_arm_i2c_adresses(selected_i2c) == 0) {
		print_uart("\r\nno i2c phy slave?");
	}
	// main structure
	// pointer to structure:
	vtss_inst_t         inst;  
	 //( just a test:      )
	struct vtss_state_s real_struct;
	// some struct needed for create():
	vtss_inst_create_t       create; // not important for issue	
	// clangd needs this ...
	(void)real_struct; 
	 //( just a test:  pass adress to pointer  )
	inst = &real_struct;

	// First important API - Function:
	vtss_inst_create(&create, &inst);
	// 
	char pr[30];
	sprintf(pr, "*chip_count:%d", (int)(inst->chip_count));
	print_uart(pr); // chip_count sollte hier 123 oder 0x7b sein.... instead another variable got this value,,, cookie e.g. is set correctly
}

/******/
vtss_rc vtss_inst_create(const vtss_inst_create_t *const create, vtss_inst_t *const inst)
{ 

	char pr[50];
	print_uart("\r\n[create:]");
	vtss_state_t *vtss_state;
	vtss_state = malloc(sizeof(*vtss_state));
	memset(vtss_state, 0, sizeof(*vtss_state));
	enum vtss_arch_t arch = VTSS_ARCH_10G_PHY;
	
	vtss_state->cookie     = 123;
	vtss_state->create     = *create; 
	vtss_state->chip_count = 123;
	vtss_state->arch       = arch;
	
	/*Not important:  Set default configuration */
	VTSS_RC(vtss_inst_default_set(vtss_state)); //
	vtss_phy_10g_inst_venice_create((vtss_state));

	/* Not important: Setup default instance */
	if (vtss_default_inst == NULL) {
		vtss_default_inst = vtss_state;
	} else {
	}
	

	(*inst) = vtss_state;


	return VTSS_RC_OK;
}
