Gość: woartur
IP: *.imada.sdu.dk
29.10.03, 15:43
umieszczam to tu bo potrzebuje jakiegos miejsca na sieci ktore przetrzyma mi ten kod, przepraszam
#include <stdlib.h>
#include <subnet.h>
#include <stdlib.h>
#include <subnetsupport.h>
#define enable_networklayer 0x10
#define disable_networklayer 0x20
#define networklayer_ready 0x08
#define MAX_SEQ 7
#define NR_BUFS ((MAX_SEQ+1)/2)
char *StationName; /* Global variabel til at overf?re programnavn */
int ThisStation; /* Global variabel der identificerer denne station. */
log_type LogStyle = nolog; /* Hvilken slags log skal systemet f?re */
/* mulige: 'nolog', 'separate' eller 'synchronized' */
char *GetDataFromUser()
{
char temp[100];
char id[10];
char *output;
printf("Input text to send: ");
gets(temp);
printf("Input destination [1-8]: ");
gets(id);
output=(char *)malloc((1+strlen(temp)+1)*sizeof(char));
strncpy(output,id,1);
strcat(output,temp);
return output;
}
void NetworkLayer(void)
{
char *temp;
event_t event;
while(1)
{
Wait(&event,enable_networklayer);// | disable_networklayer);
// switch(event.type)
// {
// case enable_networklayer:
temp=GetDataFromUser();
Signal(networklayer_ready,(void *)temp);
// break;
// case disable_networklayer:
// break;
// }
}
}
void DatalinkLayer()
{
int i=0;
event_t event;
while(1)
{
i++;
if(i%4==0)
{
Signal(enable_networklayer,NULL);
Wait(&event,networklayer_ready);
printf("\nOdebralem: %s",event.msg);
}
Signal(disable_networklayer,NULL);
if(i==10)
Stop();
}
}
int main(int argc, char *argv[])
{
StationName = argv[0];
ThisStation = atoi(argv[1]);
Activate(1, NetworkLayer, "Networklayer");
Activate(1, DatalinkLayer, "DLlayer");
Start();
}