diff --git a/header/bal.h b/header/bal.h new file mode 100644 index 0000000..23bacce --- /dev/null +++ b/header/bal.h @@ -0,0 +1,29 @@ +#ifndef HEADER_BAL +#define HEADER_BAL + +#include "tsock.h" + +typedef struct{ + char *data; + int tailleData; + int idEmeteur; +}messageBAL; + +struct elementMessage{ + messageBAL * messageBALActuel; + struct elementMessage * suiv; +}; + +struct listeMessage{ + struct elementMessage * debut; + struct elementMessage * courant; + struct elementMessage * fin; +}; + +messageBAL * creeMessage(char *data,int idEmeteur); +struct elementMessage * initElementMessage(void); +struct listeMessage initListeMessage(void); +void ajoutListe(struct listeMessage * listeActuel,messageBAL * leMessage); +void afficheListeMessage(struct listeMessage listeActuel); + +#endif \ No newline at end of file diff --git a/header/puit.h b/header/puit.h index 3b45da5..e9c795a 100644 --- a/header/puit.h +++ b/header/puit.h @@ -2,6 +2,8 @@ #define HEADER_PUIT #include "tsock.h" + int launchPuit(int nombreMessage,int tailleMessage,int isTCP,int port,char * ipAddress); int receiveMultipleData(int nombreMessages, int tailleMessage, int sock, struct sockaddr_in socketStruct, int isTCP); + #endif \ No newline at end of file diff --git a/src/bal.c b/src/bal.c index e9430e2..7b8b94e 100644 --- a/src/bal.c +++ b/src/bal.c @@ -1,31 +1,10 @@ -#include -#include -#include -#include - -typedef struct{ - char *data; - int tailleData; - int idEmeteur; -}messageBAL; - -struct elementMessage{ - messageBAL * messageBALActuel; - struct messageBAL * suiv; -}; - -struct listeMessage{ - struct elementMessage * debut; - struct elementMessage * courant; - struct elementMessage * fin; -}; - -messageBAL * creeMessage(char *data,int idEmeteur); -struct elementMessage * initElement(void); -struct listeMessage initListe(void); +#include "../header/bal.h" int main(void){ - initElement(); + struct listeMessage l = initListeMessage(); + messageBAL * messageBAL = creeMessage("Renvoi moi mon pdf asap. -Simon",1); + ajoutListe(&l,messageBAL); + afficheListeMessage(l); return 0; } @@ -40,7 +19,7 @@ messageBAL * creeMessage(char *data,int idEmeteur) return message; } -struct elementMessage * initElement(void) +struct elementMessage * initElementMessage(void) { struct elementMessage * returnElement = malloc(sizeof(struct elementMessage)); returnElement->messageBALActuel = creeMessage("",0); @@ -48,11 +27,31 @@ struct elementMessage * initElement(void) return returnElement; } -struct listeMessage initListe(void) +struct listeMessage initListeMessage(void) { struct listeMessage l; - l.debut=initElement(); - l.fin=initElement(); - l.courant=initElement(); + l.debut=initElementMessage(); + l.fin=initElementMessage(); + l.courant=initElementMessage(); return l; +} + +void ajoutListe(struct listeMessage * listeActuel,messageBAL * leMessage) +{ + struct elementMessage * elementActuel = malloc(sizeof(struct elementMessage)); + elementActuel->messageBALActuel=leMessage; + elementActuel->suiv=listeActuel->courant; + listeActuel->debut=elementActuel; + listeActuel->courant=elementActuel; +} + +void afficheListeMessage(struct listeMessage listeActuel) +{ + struct elementMessage * elementFinal = listeActuel.fin; + struct elementMessage * elementCourant = listeActuel.courant; + while(elementCourant->suiv != elementFinal->suiv) + { + printf("%s\n",elementCourant->messageBALActuel->data); + elementCourant=elementCourant->suiv; + } } \ No newline at end of file