⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ws_nsf_dr_pk.em.c

📁 实验室前辈用OPNET做的光突发交换网络的仿真实验
💻 C
字号:
#include <opnet.h>
#include <ema.h>
#include <opnet_emadefs.h>
#include <opnet_constants.h>



/* array for all textlist attributes in model */
Prg_List*		prg_lptr [8];

/* array for all objects in model */
EmaT_Object_Id		obj [14];



int
main (int argc, char* argv [])
	{
	EmaT_Model_Id			model_id;
	int					i;

	/* initialize EMA package */
	Ema_Init (EMAC_MODE_ERR_PRINT, argc, argv);

	/* create an empty model */
	model_id = Ema_Model_Create (MOD_PK_FORMAT);



	/* create all objects */
	obj [0] = Ema_Object_Create (model_id, OBJ_PF_FIELD);
	obj [1] = Ema_Object_Create (model_id, OBJ_PF_POS);
	obj [2] = Ema_Object_Create (model_id, OBJ_PF_FIELD);
	obj [3] = Ema_Object_Create (model_id, OBJ_PF_POS);
	obj [4] = Ema_Object_Create (model_id, OBJ_PF_FIELD);
	obj [5] = Ema_Object_Create (model_id, OBJ_PF_POS);
	obj [6] = Ema_Object_Create (model_id, OBJ_PF_FIELD);
	obj [7] = Ema_Object_Create (model_id, OBJ_PF_POS);
	obj [8] = Ema_Object_Create (model_id, OBJ_PF_FIELD);
	obj [9] = Ema_Object_Create (model_id, OBJ_PF_POS);
	obj [10] = Ema_Object_Create (model_id, OBJ_PF_FIELD);
	obj [11] = Ema_Object_Create (model_id, OBJ_PF_POS);
	obj [12] = Ema_Object_Create (model_id, OBJ_PF_FIELD);
	obj [13] = Ema_Object_Create (model_id, OBJ_PF_POS);


	/* assign attrs for object 'obj [1]' */
	Ema_Object_Attr_Set (model_id, obj [1], 
		"x",                    COMP_CONTENTS, (double) 190,
		"y",                    COMP_CONTENTS, (double) 50,
		EMAC_EOL);


	/* assign attrs for object 'obj [3]' */
	Ema_Object_Attr_Set (model_id, obj [3], 
		"x",                    COMP_CONTENTS, (double) 250,
		"y",                    COMP_CONTENTS, (double) 50,
		EMAC_EOL);


	/* assign attrs for object 'obj [5]' */
	Ema_Object_Attr_Set (model_id, obj [5], 
		"x",                    COMP_CONTENTS, (double) 310,
		"y",                    COMP_CONTENTS, (double) 50,
		EMAC_EOL);


	/* assign attrs for object 'obj [7]' */
	Ema_Object_Attr_Set (model_id, obj [7], 
		"x",                    COMP_CONTENTS, (double) 370,
		"y",                    COMP_CONTENTS, (double) 50,
		EMAC_EOL);


	/* assign attrs for object 'obj [9]' */
	Ema_Object_Attr_Set (model_id, obj [9], 
		"x",                    COMP_CONTENTS, (double) 430,
		"y",                    COMP_CONTENTS, (double) 50,
		EMAC_EOL);


	/* assign attrs for object 'obj [11]' */
	Ema_Object_Attr_Set (model_id, obj [11], 
		"x",                    COMP_CONTENTS, (double) 490,
		"y",                    COMP_CONTENTS, (double) 50,
		EMAC_EOL);


	/* assign attrs for object 'obj [13]' */
	Ema_Object_Attr_Set (model_id, obj [13], 
		"x",                    COMP_CONTENTS, (double) 550,
		"y",                    COMP_CONTENTS, (double) 50,
		EMAC_EOL);




	/* set the model level attributes */
	/* create and init prg list 'prg_lptr [0]' */
	prg_lptr [0] = (Prg_List *)prg_list_create ();
	Ema_Model_Attr_Set (model_id,
		"comments",             COMP_CONTENTS, prg_lptr [0],
		"conversion method",    COMP_CONTENTS, "NONE",
		"supports conversion",  COMP_TOGGLE,   EMAC_DISABLED,
		"bulk fill pattern",    COMP_CONTENTS, "0x0",
		EMAC_EOL);



	/* assign attrs for object 'obj [0]' */
	Ema_Object_Attr_Set (model_id, obj [0], 
		"name",                 COMP_CONTENTS, "hop",
		"type",                 COMP_CONTENTS, 0,
		"size",                 COMP_CONTENTS, 0,
		"default value",        COMP_CONTENTS, "",
		"default value",        COMP_INTENDED, EMAC_DISABLED,
		"set at creation",      COMP_TOGGLE,   EMAC_ENABLED,
		"conversion order",     COMP_CONTENTS, 1,
		"position",             COMP_CONTENTS, obj [1],
		EMAC_EOL);


	/* assign attrs for object 'obj [2]' */
	Ema_Object_Attr_Set (model_id, obj [2], 
		"name",                 COMP_CONTENTS, "PK_type",
		"type",                 COMP_CONTENTS, 0,
		"size",                 COMP_CONTENTS, 0,
		"default value",        COMP_CONTENTS, "1",
		"set at creation",      COMP_TOGGLE,   EMAC_ENABLED,
		"conversion order",     COMP_CONTENTS, 2,
		"position",             COMP_CONTENTS, obj [3],
		EMAC_EOL);


	/* assign attrs for object 'obj [4]' */
	Ema_Object_Attr_Set (model_id, obj [4], 
		"name",                 COMP_CONTENTS, "dtime",
		"type",                 COMP_CONTENTS, 1,
		"encoding",             COMP_CONTENTS, "big endian",
		"encoding",             COMP_INTENDED, EMAC_DISABLED,
		"size",                 COMP_CONTENTS, 0,
		"set at creation",      COMP_TOGGLE,   EMAC_ENABLED,
		"conversion order",     COMP_CONTENTS, 3,
		"position",             COMP_CONTENTS, obj [5],
		EMAC_EOL);


	/* assign attrs for object 'obj [6]' */
	Ema_Object_Attr_Set (model_id, obj [6], 
		"name",                 COMP_CONTENTS, "start",
		"type",                 COMP_CONTENTS, 1,
		"encoding",             COMP_CONTENTS, "big endian",
		"encoding",             COMP_INTENDED, EMAC_DISABLED,
		"size",                 COMP_CONTENTS, 0,
		"set at creation",      COMP_TOGGLE,   EMAC_ENABLED,
		"conversion order",     COMP_CONTENTS, 4,
		"position",             COMP_CONTENTS, obj [7],
		EMAC_EOL);


	/* assign attrs for object 'obj [8]' */
	/* create and init prg list 'prg_lptr [5]' */
	prg_lptr [5] = (Prg_List *)prg_list_create ();
	Ema_Object_Attr_Set (model_id, obj [8], 
		"name",                 COMP_CONTENTS, "source address",
		"comments",             COMP_CONTENTS, prg_lptr [5],
		"type",                 COMP_CONTENTS, 0,
		"size",                 COMP_CONTENTS, 0,
		"set at creation",      COMP_TOGGLE,   EMAC_DISABLED,
		"color",                COMP_CONTENTS, 8,
		"conversion method",    COMP_CONTENTS, "NONE",
		"conversion order",     COMP_CONTENTS, 5,
		"position",             COMP_CONTENTS, obj [9],
		EMAC_EOL);


	/* assign attrs for object 'obj [10]' */
	/* create and init prg list 'prg_lptr [6]' */
	prg_lptr [6] = (Prg_List *)prg_list_create ();
	Ema_Object_Attr_Set (model_id, obj [10], 
		"name",                 COMP_CONTENTS, "destination address",
		"comments",             COMP_CONTENTS, prg_lptr [6],
		"type",                 COMP_CONTENTS, 0,
		"size",                 COMP_CONTENTS, 0,
		"set at creation",      COMP_TOGGLE,   EMAC_DISABLED,
		"color",                COMP_CONTENTS, 8,
		"conversion method",    COMP_CONTENTS, "NONE",
		"conversion order",     COMP_CONTENTS, 6,
		"position",             COMP_CONTENTS, obj [11],
		EMAC_EOL);


	/* assign attrs for object 'obj [12]' */
	/* create and init prg list 'prg_lptr [7]' */
	prg_lptr [7] = (Prg_List *)prg_list_create ();
	Ema_Object_Attr_Set (model_id, obj [12], 
		"name",                 COMP_CONTENTS, "sequence number",
		"comments",             COMP_CONTENTS, prg_lptr [7],
		"type",                 COMP_CONTENTS, 0,
		"size",                 COMP_CONTENTS, 0,
		"set at creation",      COMP_TOGGLE,   EMAC_DISABLED,
		"color",                COMP_CONTENTS, 8,
		"conversion method",    COMP_CONTENTS, "NONE",
		"conversion order",     COMP_CONTENTS, 7,
		"position",             COMP_CONTENTS, obj [13],
		EMAC_EOL);








	/* write the model to application-readable form */
	Ema_Model_Write (model_id, "WS_NSF_dr_pk");

	return 0;
	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -