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

📄 ramimo-80211_mac.em.c

📁 802.11-MAC协议使用opnet仿真的源代码
💻 C
📖 第 1 页 / 共 3 页
字号:
#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 [15];

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



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_SIM_SEQ);



	/* create all objects */
	obj [0] = Ema_Object_Create (model_id, OBJ_SEQ_RUN);
	obj [1] = Ema_Object_Create (model_id, OBJ_SEQ_POS);
	obj [2] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [3] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [4] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [5] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [6] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [7] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [8] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [9] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [10] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [11] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [12] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [13] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [14] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [15] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [16] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [17] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [18] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [19] = Ema_Object_Create (model_id, OBJ_SEQ_RUN);
	obj [20] = Ema_Object_Create (model_id, OBJ_SEQ_POS);
	obj [21] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [22] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [23] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [24] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [25] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [26] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [27] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [28] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [29] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [30] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [31] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [32] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [33] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [34] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [35] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [36] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [37] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [38] = Ema_Object_Create (model_id, OBJ_SEQ_RUN);
	obj [39] = Ema_Object_Create (model_id, OBJ_SEQ_POS);
	obj [40] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [41] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [42] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [43] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [44] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [45] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [46] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [47] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [48] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [49] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [50] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [51] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [52] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [53] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [54] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [55] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [56] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [57] = Ema_Object_Create (model_id, OBJ_SEQ_RUN);
	obj [58] = Ema_Object_Create (model_id, OBJ_SEQ_POS);
	obj [59] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [60] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [61] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [62] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [63] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [64] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [65] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [66] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [67] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [68] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [69] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [70] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [71] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [72] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [73] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [74] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [75] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [76] = Ema_Object_Create (model_id, OBJ_SEQ_RUN);
	obj [77] = Ema_Object_Create (model_id, OBJ_SEQ_POS);
	obj [78] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [79] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [80] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [81] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [82] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [83] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [84] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [85] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [86] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [87] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [88] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [89] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [90] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [91] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [92] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [93] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);
	obj [94] = Ema_Object_Create (model_id, OBJ_SEQ_ARG);




	/* no model level attributes */



	/* assign attrs for object 'obj [0]' */
	/* create and init prg list 'prg_lptr [0]' */
	prg_lptr [0] = (Prg_List *)prg_list_create ();
	prg_list_strings_append (prg_lptr [0], 
		"debug",
		"optimize_simulation",
		PRGC_NIL);

	Ema_Object_Attr_Set (model_id, obj [0], 
		"name",                 COMP_CONTENTS, "scenario",
		"network",              COMP_CONTENTS, "ramimo-80211_MAC",
		"network",              COMP_INTENDED, EMAC_DISABLED,
		"probe file",           COMP_CONTENTS, "ramimo-80211_MAC",
		"probe file",           COMP_INTENDED, EMAC_DISABLED,
		"vector file",          COMP_CONTENTS, "020104_4ND_LCON",
		"scalar file",          COMP_CONTENTS, "020104_4ND_LCON",
		"seed",                 COMP_CONTENTS, 128,
		"duration",             COMP_CONTENTS, (double) 20,
		"update interval",      COMP_CONTENTS, (double) 100000000,
		"noprompt",             COMP_TOGGLE,   EMAC_ENABLED,
		"noprompt",             COMP_INTENDED, EMAC_DISABLED,
		"environment files",    COMP_CONTENTS, prg_lptr [0],
		"environment files",    COMP_INTENDED, EMAC_DISABLED,
		"anim attempts",        COMP_CONTENTS, 5,
		"anim hist",            COMP_CONTENTS, "ramimo-80211_MAC",
		EMAC_EOL);

	Ema_Object_Attr_Set (model_id, obj [0], 
		"anim host",            COMP_CONTENTS, "localhost",
		"anim port",            COMP_CONTENTS, 0,
		"anim timeout",         COMP_CONTENTS, (double) 3,
		"anim hist enabled",    COMP_TOGGLE,   EMAC_DISABLED,
		"argument list",        COMP_ARRAY_CONTENTS (0), obj [2],
		"argument list",        COMP_ARRAY_CONTENTS (1), obj [3],
		"argument list",        COMP_ARRAY_CONTENTS (2), obj [4],
		"argument list",        COMP_ARRAY_CONTENTS (3), obj [5],
		"argument list",        COMP_ARRAY_CONTENTS (4), obj [6],
		"argument list",        COMP_ARRAY_CONTENTS (5), obj [7],
		"argument list",        COMP_ARRAY_CONTENTS (6), obj [8],
		"argument list",        COMP_ARRAY_CONTENTS (7), obj [9],
		"argument list",        COMP_ARRAY_CONTENTS (8), obj [10],
		"argument list",        COMP_ARRAY_CONTENTS (9), obj [11],
		"argument list",        COMP_ARRAY_CONTENTS (10), obj [12],
		"argument list",        COMP_ARRAY_CONTENTS (11), obj [13],
		EMAC_EOL);

	Ema_Object_Attr_Set (model_id, obj [0], 
		"argument list",        COMP_ARRAY_CONTENTS (12), obj [14],
		"argument list",        COMP_ARRAY_CONTENTS (13), obj [15],
		"argument list",        COMP_ARRAY_CONTENTS (14), obj [16],
		"argument list",        COMP_ARRAY_CONTENTS (15), obj [17],
		"argument list",        COMP_ARRAY_CONTENTS (16), obj [18],
		"pos",                  COMP_CONTENTS, obj [1],
		"collect count",        COMP_CONTENTS, 100,
		"enable logging",       COMP_TOGGLE,   EMAC_ENABLED,
		"enable logging",       COMP_INTENDED, EMAC_DISABLED,
		"Start date",           COMP_CONTENTS, "",
		"Start time",           COMP_CONTENTS, "",
		"Date recording",       COMP_CONTENTS, "none",
		"Date recording",       COMP_INTENDED, EMAC_DISABLED,
		"duration units",       COMP_CONTENTS, "minutes",
		"duration units",       COMP_INTENDED, EMAC_DISABLED,
		EMAC_EOL);


	/* assign attrs for object 'obj [19]' */
	/* create and init prg list 'prg_lptr [3]' */
	prg_lptr [3] = (Prg_List *)prg_list_create ();
	prg_list_strings_append (prg_lptr [3], 
		"optimize_simulation",
		PRGC_NIL);

	Ema_Object_Attr_Set (model_id, obj [19], 
		"name",                 COMP_CONTENTS, "scenario_9",
		"network",              COMP_CONTENTS, "ramimo-80211_MAC",
		"network",              COMP_INTENDED, EMAC_DISABLED,
		"probe file",           COMP_CONTENTS, "ramimo-80211_MAC",
		"probe file",           COMP_INTENDED, EMAC_DISABLED,
		"vector file",          COMP_CONTENTS, "020104_4ND_LCON",
		"scalar file",          COMP_CONTENTS, "020104_4ND_LCON",
		"seed",                 COMP_CONTENTS, 128,
		"duration",             COMP_CONTENTS, (double) 20,
		"update interval",      COMP_CONTENTS, (double) 100000000,
		"noprompt",             COMP_TOGGLE,   EMAC_ENABLED,
		"noprompt",             COMP_INTENDED, EMAC_DISABLED,
		"environment files",    COMP_CONTENTS, prg_lptr [3],
		"environment files",    COMP_INTENDED, EMAC_DISABLED,
		"anim attempts",        COMP_CONTENTS, 5,
		"anim hist",            COMP_CONTENTS, "ramimo-80211_MAC",
		EMAC_EOL);

	Ema_Object_Attr_Set (model_id, obj [19], 
		"anim host",            COMP_CONTENTS, "localhost",
		"anim port",            COMP_CONTENTS, 0,
		"anim timeout",         COMP_CONTENTS, (double) 3,
		"anim hist enabled",    COMP_TOGGLE,   EMAC_DISABLED,
		"argument list",        COMP_ARRAY_CONTENTS (0), obj [21],
		"argument list",        COMP_ARRAY_CONTENTS (1), obj [22],
		"argument list",        COMP_ARRAY_CONTENTS (2), obj [23],
		"argument list",        COMP_ARRAY_CONTENTS (3), obj [24],
		"argument list",        COMP_ARRAY_CONTENTS (4), obj [25],
		"argument list",        COMP_ARRAY_CONTENTS (5), obj [26],
		"argument list",        COMP_ARRAY_CONTENTS (6), obj [27],
		"argument list",        COMP_ARRAY_CONTENTS (7), obj [28],
		"argument list",        COMP_ARRAY_CONTENTS (8), obj [29],
		"argument list",        COMP_ARRAY_CONTENTS (9), obj [30],
		"argument list",        COMP_ARRAY_CONTENTS (10), obj [31],
		"argument list",        COMP_ARRAY_CONTENTS (11), obj [32],
		EMAC_EOL);

	Ema_Object_Attr_Set (model_id, obj [19], 
		"argument list",        COMP_ARRAY_CONTENTS (12), obj [33],
		"argument list",        COMP_ARRAY_CONTENTS (13), obj [34],
		"argument list",        COMP_ARRAY_CONTENTS (14), obj [35],
		"argument list",        COMP_ARRAY_CONTENTS (15), obj [36],
		"argument list",        COMP_ARRAY_CONTENTS (16), obj [37],
		"pos",                  COMP_CONTENTS, obj [20],
		"collect count",        COMP_CONTENTS, 100,
		"enable logging",       COMP_TOGGLE,   EMAC_ENABLED,
		"enable logging",       COMP_INTENDED, EMAC_DISABLED,
		"Start date",           COMP_CONTENTS, "",
		"Start time",           COMP_CONTENTS, "",
		"Date recording",       COMP_CONTENTS, "none",
		"Date recording",       COMP_INTENDED, EMAC_DISABLED,
		"duration units",       COMP_CONTENTS, "minutes",
		"duration units",       COMP_INTENDED, EMAC_DISABLED,
		EMAC_EOL);


	/* assign attrs for object 'obj [38]' */
	/* create and init prg list 'prg_lptr [6]' */
	prg_lptr [6] = (Prg_List *)prg_list_create ();
	prg_list_strings_append (prg_lptr [6], 
		"optimize_simulation",
		PRGC_NIL);

	Ema_Object_Attr_Set (model_id, obj [38], 
		"name",                 COMP_CONTENTS, "scenario_10",
		"network",              COMP_CONTENTS, "ramimo-80211_MAC",
		"network",              COMP_INTENDED, EMAC_DISABLED,
		"probe file",           COMP_CONTENTS, "ramimo-80211_MAC",
		"probe file",           COMP_INTENDED, EMAC_DISABLED,
		"vector file",          COMP_CONTENTS, "020104_4ND_LCON",
		"scalar file",          COMP_CONTENTS, "020104_4ND_LCON",
		"seed",                 COMP_CONTENTS, 128,
		"duration",             COMP_CONTENTS, (double) 20,
		"update interval",      COMP_CONTENTS, (double) 100000000,
		"noprompt",             COMP_TOGGLE,   EMAC_ENABLED,
		"noprompt",             COMP_INTENDED, EMAC_DISABLED,
		"environment files",    COMP_CONTENTS, prg_lptr [6],
		"environment files",    COMP_INTENDED, EMAC_DISABLED,
		"anim attempts",        COMP_CONTENTS, 5,
		"anim hist",            COMP_CONTENTS, "ramimo-80211_MAC",
		EMAC_EOL);

	Ema_Object_Attr_Set (model_id, obj [38], 
		"anim host",            COMP_CONTENTS, "localhost",
		"anim port",            COMP_CONTENTS, 0,
		"anim timeout",         COMP_CONTENTS, (double) 3,
		"anim hist enabled",    COMP_TOGGLE,   EMAC_DISABLED,
		"argument list",        COMP_ARRAY_CONTENTS (0), obj [40],
		"argument list",        COMP_ARRAY_CONTENTS (1), obj [41],
		"argument list",        COMP_ARRAY_CONTENTS (2), obj [42],
		"argument list",        COMP_ARRAY_CONTENTS (3), obj [43],
		"argument list",        COMP_ARRAY_CONTENTS (4), obj [44],
		"argument list",        COMP_ARRAY_CONTENTS (5), obj [45],
		"argument list",        COMP_ARRAY_CONTENTS (6), obj [46],
		"argument list",        COMP_ARRAY_CONTENTS (7), obj [47],
		"argument list",        COMP_ARRAY_CONTENTS (8), obj [48],
		"argument list",        COMP_ARRAY_CONTENTS (9), obj [49],
		"argument list",        COMP_ARRAY_CONTENTS (10), obj [50],
		"argument list",        COMP_ARRAY_CONTENTS (11), obj [51],
		EMAC_EOL);

	Ema_Object_Attr_Set (model_id, obj [38], 
		"argument list",        COMP_ARRAY_CONTENTS (12), obj [52],
		"argument list",        COMP_ARRAY_CONTENTS (13), obj [53],
		"argument list",        COMP_ARRAY_CONTENTS (14), obj [54],
		"argument list",        COMP_ARRAY_CONTENTS (15), obj [55],
		"argument list",        COMP_ARRAY_CONTENTS (16), obj [56],
		"pos",                  COMP_CONTENTS, obj [39],
		"collect count",        COMP_CONTENTS, 100,
		"enable logging",       COMP_TOGGLE,   EMAC_ENABLED,
		"enable logging",       COMP_INTENDED, EMAC_DISABLED,
		"Start date",           COMP_CONTENTS, "",
		"Start time",           COMP_CONTENTS, "",
		"Date recording",       COMP_CONTENTS, "none",
		"Date recording",       COMP_INTENDED, EMAC_DISABLED,
		"duration units",       COMP_CONTENTS, "minutes",
		"duration units",       COMP_INTENDED, EMAC_DISABLED,
		EMAC_EOL);


	/* assign attrs for object 'obj [57]' */
	/* create and init prg list 'prg_lptr [9]' */
	prg_lptr [9] = (Prg_List *)prg_list_create ();
	prg_list_strings_append (prg_lptr [9], 
		"optimize_simulation",
		PRGC_NIL);

	Ema_Object_Attr_Set (model_id, obj [57], 
		"name",                 COMP_CONTENTS, "scenario_11",
		"network",              COMP_CONTENTS, "ramimo-80211_MAC",
		"network",              COMP_INTENDED, EMAC_DISABLED,
		"probe file",           COMP_CONTENTS, "ramimo-80211_MAC",
		"probe file",           COMP_INTENDED, EMAC_DISABLED,
		"vector file",          COMP_CONTENTS, "020104_4ND_LCON",
		"scalar file",          COMP_CONTENTS, "020104_4ND_LCON",
		"seed",                 COMP_CONTENTS, 128,
		"duration",             COMP_CONTENTS, (double) 20,
		"update interval",      COMP_CONTENTS, (double) 100000000,
		"noprompt",             COMP_TOGGLE,   EMAC_ENABLED,
		"noprompt",             COMP_INTENDED, EMAC_DISABLED,
		"environment files",    COMP_CONTENTS, prg_lptr [9],
		"environment files",    COMP_INTENDED, EMAC_DISABLED,
		"anim attempts",        COMP_CONTENTS, 5,
		"anim hist",            COMP_CONTENTS, "ramimo-80211_MAC",
		EMAC_EOL);

	Ema_Object_Attr_Set (model_id, obj [57], 
		"anim host",            COMP_CONTENTS, "localhost",
		"anim port",            COMP_CONTENTS, 0,
		"anim timeout",         COMP_CONTENTS, (double) 3,
		"anim hist enabled",    COMP_TOGGLE,   EMAC_DISABLED,
		"argument list",        COMP_ARRAY_CONTENTS (0), obj [59],
		"argument list",        COMP_ARRAY_CONTENTS (1), obj [60],
		"argument list",        COMP_ARRAY_CONTENTS (2), obj [61],
		"argument list",        COMP_ARRAY_CONTENTS (3), obj [62],
		"argument list",        COMP_ARRAY_CONTENTS (4), obj [63],
		"argument list",        COMP_ARRAY_CONTENTS (5), obj [64],
		"argument list",        COMP_ARRAY_CONTENTS (6), obj [65],
		"argument list",        COMP_ARRAY_CONTENTS (7), obj [66],
		"argument list",        COMP_ARRAY_CONTENTS (8), obj [67],

⌨️ 快捷键说明

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