Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // test
- #include <stdio.h>
- #include <stdint.h>
- #include <string.h>
- #include "funkcje.h"
- #include "naglowki.h"
- #define AKCJA_0 1
- #define AKCJA_1 2
- #define AKCJA_2 3
- typedef struct element_s {
- struct element_s *nast;
- struct element_s *poprz;
- struct element_s *pierw;
- int akcja;
- int nastepna_akcja;
- uint8_t pakiet[1500];
- } element_t;
- element_t *zakotwiczenie_akcji_1;
- element_t *zakotwiczenie_akcji_2;
- element_t *zakotwiczenie_akcji_3;
- element_t *tablica_akcji[3];
- element_t *zakotwiczenie = NULL;
- element_t *aktualny = NULL;
- element_t *temp = NULL;
- uint8_t dane[1500];
- int main(void) {
- int i_iteracje = 10;
- int i_kolejka;
- int i, j;
- for (i = 0; i < 3; i++) {
- tablica_akcji[i] = malloc(sizeof(element_t));
- }
- tablica_akcji[0]->akcja = AKCJA_0;
- tablica_akcji[0]->nastepna_akcja = AKCJA_1;
- //tablica_akcji[1]->pierw = zakotwiczenie_akcji_2->pierw;
- tablica_akcji[1]->akcja = AKCJA_1;
- tablica_akcji[1]->nastepna_akcja = AKCJA_2;
- //tablica_akcji[2]->pierw = zakotwiczenie_akcji_3->pierw;
- tablica_akcji[2]->akcja = AKCJA_2;
- tablica_akcji[2]->nastepna_akcja = AKCJA_0;
- /* zakotwiczenie_akcji_1->poprz = NULL;
- zakotwiczenie_akcji_2->poprz = NULL;
- zakotwiczenie_akcji_3->poprz = NULL;*/
- for (i = 0; i < i_iteracje; i++) {
- for (j = 0; j < 3; j++) {
- if (tablica_akcji[j]->nastepna_akcja == AKCJA_0) {
- if (zakotwiczenie_akcji_1 == NULL) {
- zakotwiczenie = (element_t*) malloc(sizeof(element_t));
- zakotwiczenie->pierw = zakotwiczenie;
- zakotwiczenie->nast = NULL;
- zakotwiczenie->poprz = NULL;
- zakotwiczenie_akcji_1 = zakotwiczenie;
- tablica_akcji[j]->nastepna_akcja = AKCJA_1;
- printf("Adres: 0x%X ", zakotwiczenie);
- puts("Aktualna akcja : AKCJA_0 Następna akcja : AKCJA_1");
- break;
- } else {
- aktualny = (element_t*) malloc(sizeof(element_t));
- for (temp = zakotwiczenie; temp->nast != NULL;
- temp = temp->nast) {
- }
- aktualny->nast = NULL;
- aktualny->poprz = temp;
- aktualny->pierw = zakotwiczenie;
- memcpy(aktualny->pakiet, dane, 1500);
- temp->nast = aktualny;
- tablica_akcji[j]->nastepna_akcja = AKCJA_1;
- printf("Adres: 0x%X ", aktualny);
- puts("Aktualna akcja : AKCJA_0 Następna akcja : AKCJA_1");
- break;
- }
- }
- if (tablica_akcji[j]->nastepna_akcja == AKCJA_1) {
- if (zakotwiczenie_akcji_2 == NULL) {
- zakotwiczenie = (element_t*) malloc(sizeof(element_t));
- zakotwiczenie->pierw = zakotwiczenie;
- zakotwiczenie->nast = NULL;
- zakotwiczenie->poprz = NULL;
- zakotwiczenie_akcji_2 = zakotwiczenie;
- tablica_akcji[j]->nastepna_akcja = AKCJA_2;
- printf("Adres: 0x%X ", zakotwiczenie);
- puts("Aktualna akcja : AKCJA_1 Następna akcja : AKCJA_2");
- break;
- } else {
- temp = (element_t*) malloc(sizeof(element_t));
- aktualny = (element_t*) malloc(sizeof(element_t));
- for (temp = zakotwiczenie; temp->nast != NULL;
- temp = temp->nast) {
- }
- aktualny->nast = NULL;
- aktualny->poprz = temp;
- aktualny->pierw = zakotwiczenie;
- tablica_akcji[j]->nastepna_akcja = AKCJA_2;
- printf("Adres: 0x%X ", aktualny);
- puts("Aktualna akcja : AKCJA_1 Następna akcja : AKCJA_2");
- break;
- }
- }
- if (tablica_akcji[j]->nastepna_akcja == AKCJA_2) {
- if (zakotwiczenie_akcji_3 == NULL) {
- zakotwiczenie = (element_t*) malloc(sizeof(element_t));
- zakotwiczenie->pierw = zakotwiczenie;
- zakotwiczenie->nast = NULL;
- zakotwiczenie->poprz = NULL;
- zakotwiczenie_akcji_3 = zakotwiczenie;
- tablica_akcji[j]->nastepna_akcja = AKCJA_0;
- printf("Adres: 0x%X ", zakotwiczenie);
- puts("Aktualna akcja : AKCJA_2 Następna akcja : AKCJA_0");
- break;
- } else {
- temp = (element_t*) malloc(sizeof(element_t));
- aktualny = (element_t*) malloc(sizeof(element_t));
- for (temp = zakotwiczenie; temp->nast != NULL;
- temp = temp->nast) {
- }
- aktualny->nast = NULL;
- aktualny->poprz = temp;
- aktualny->pierw = zakotwiczenie;
- memcpy(aktualny->pakiet, dane, 1500);
- temp->nast = aktualny;
- tablica_akcji[j]->nastepna_akcja = AKCJA_0;
- printf("Adres: 0x%X ", aktualny);
- puts("Aktualna akcja : AKCJA_2 Następna akcja : AKCJA_0");
- break;
- }
- }
- }
- }
- return EXIT_SUCCESS;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement