18int fn_NetSim_CSMACD_Configure_F(
void** var);
20 NetSim_EVENTDETAILS *pstruEventDetails_Formal,
21 char *pszAppPath_Formal,
22 char *pszWritePath_Formal,
26_declspec(dllexport)
int fn_NetSim_CSMACD_Configure(
void** var)
28 return fn_NetSim_CSMACD_Configure_F(var);
32 NetSim_EVENTDETAILS *pstruEventDetails_Formal,
33 char *pszAppPath_Formal,
34 char *pszWritePath_Formal,
38 char *fcollisioncount,*fcontentionwindow;
39 fcollisioncount = calloc(1,strlen(pszIOPath)+50);
40 fn_NetSim_Utilities_ConcatString(3,fcollisioncount,pszIOPath,
"/collisioncount.txt");
41 file_collision = fopen(fcollisioncount,
"w");
43 if(file_collision == NULL)
44 fnSystemError(fcollisioncount);
47 fprintf(file_collision,
"Source_ID\tCollision_Count\tTime (Micro Sec)\n");
51 fcontentionwindow = calloc(1,strlen(pszIOPath)+50);
52 fn_NetSim_Utilities_ConcatString(3,fcontentionwindow,pszIOPath,
"/ContentionWindow.txt");
53 file_contention = fopen(fcontentionwindow,
"w");
55 if(file_contention == NULL)
56 fnSystemError(fcontentionwindow);
59 fprintf(file_contention,
"Source_ID\tContention_Window\tTime (Micro Sec)\n");
62 return fn_NetSim_CSMACD_Init_F(NETWORK_Formal,pstruEventDetails_Formal,pszAppPath_Formal,
63 pszWritePath_Formal,nVersion_Type,fnPointer);
66_declspec (dllexport)
int fn_NetSim_CSMACD_Run()
68 switch(pstruEventDetails->nEventType)
71 fn_NetSim_CSMACD_MacOut();
74 fn_NetSim_CSMACD_MacIn();
76 case PHYSICAL_OUT_EVENT:
77 fn_NetSim_CSMACD_PhyOut();
79 case PHYSICAL_IN_EVENT:
80 fn_NetSim_CSMACD_PhyIn();
84 switch(pstruEventDetails->nSubEventType)
86 case WAIT_FOR_RANDOM_TIME:
87 case PERSISTANCE_WAIT:
88 fn_NetSim_CSMACS_PersistanceWait();
91 fnNetSimError(
"Unknown subevent type %d in %s.",pstruEventDetails->nSubEventType,
98 fnNetSimError(
"Unknown event type %d in %s.",pstruEventDetails->nEventType,
105_declspec(dllexport)
int fn_NetSim_CSMACD_Finish()
107 fclose(file_collision);
108 fclose(file_contention);
112_declspec (dllexport)
char* fn_NetSim_CSMACD_Trace(
int nSubEvent)
114 return GetStringCSMACD_Subevent(nSubEvent);
116_declspec(dllexport)
int fn_NetSim_CSMACD_FreePacket(NetSim_PACKET* pstruPacket)
126_declspec(dllexport)
int fn_NetSim_CSMACD_CopyPacket(NetSim_PACKET* pstruDestPacket,NetSim_PACKET* pstruSrcPacket)
136_declspec(dllexport)
int fn_NetSim_CSMACD_Metrics(PMETRICSWRITER metricsWriter)
145_declspec(dllexport)
char* fn_NetSim_CSMACD_ConfigPacketTrace()
153_declspec(dllexport)
char* fn_NetSim_CSMACD_WritePacketTrace(NetSim_PACKET* pstruPacket,
char** ppszTrace)