1 while(1) 2 { 3 printf("Waiting for command\n"); 4 memset(bufor, '\0', BUF_SIZE); 5 read(one, &i, 4); // odczytanie komendy 6 7 switch (i) 8 { 9 case 1: 10 printf("Odebralem LIST\n"); 11 list(one); 12 break; 13 . 14 . 15 . 16 } 17 . 18 . 19 . 20 } 21 22 int list(int gdzie) 23 { 24 struct dirent *pozycja; 25 DIR *katalog; 26 struct stat info; 27 int prawa, i; 28 29 katalog = opendir("."); 30 if (katalog == NULL) 31 return 1; 32 33 while ((pozycja = readdir(katalog)) != NULL) 34 { 35 if (stat(pozycja->d_name, &info) == 0) 36 { 37 if (S_ISDIR(info.st_mode)) 38 continue; 39 wyslij(gdzie, pozycja->d_name, strlen(pozycja->d_name)); 40 } 41 } 42 wyslij(gdzie, "Koniec transmisji", 0); 43 return 0; 44 }