int main(int argc, char** argv) { init(HOST, PORT); if (argc < 2) { printf("Usage %s filename\n", argv[0]); return -1; } tabel = tabelcrc(CRCCCITT); printf("Speed: %d\n", get_speed(argv[1])); printf("Delay: %d\n", get_delay(argv[2])); printf("Loss: %lf\n", get_loss(argv[3])); printf("Corrupt: %lf\n", get_corrupt(argv[4])); transmit(argv[5], get_speed(argv[1]), get_delay(argv[2]), get_loss(argv[3]), get_corrupt(argv[4]) ); free(tabel); return 0; }
/* ================================================================== MAIN ================================================================== */ int main(int argc, char **argv) { init(HOST, PORT); /*calculez tabel crc*/ crc_table = tabelcrc(CRCCCITT); /*trimit primul cadru*/ send_first_frame(extract_parameters(argv[1])); char *filename2=calloc(1000,sizeof(char)); unsigned short BUF = (MAX_SEQ + 1) / 2; strcpy(filename2,"recv_"); strcat(filename2,filename); fd = open(filename2, O_WRONLY | O_CREAT, 0644); if (fd < 0) { perror("Failed to open file\n"); } /*trimit datele*/ send_data(BUF); close(fd); return 0; }
void kermit_send(int fd_out, int fd_in, char *file_list[], int list_size) { unsigned char buffer[0x64], response[0x64]; unsigned char len, seq; int i, file, response_length; char *ptr; tabel = tabelcrc(CRCCCITT); seq = 0; init_alarm(); me.maxl = 79; me.time = 3; me.npad = 0; me.padc = 0x00; me.eol = '\r'; me.qctl = '#'; me.qbin = '&'; me.chkt = '1'; me.rept = '~'; len = 9 + 4; set_settings(buffer, me); set_hf_send_packet(fd_out, fd_in, buffer, len, &seq, 'S', response, &response_length); get_settings(response, &you); for(i = 0; i < list_size; i++) { file = open(file_list[i], O_RDONLY); if(file == -1) { fprintf(stderr, "sender: the file %s could not be opened\n", file_list[i]); continue; } ptr = strrchr(file_list[i], '/'); if(ptr == NULL) { len = strlen(file_list[i]); memcpy(buffer + 4, file_list[i], len); } else { len = strlen(ptr + 1); memcpy(buffer + 4, ptr + 1, len); } len += 4; set_hf_send_packet(fd_out, fd_in, buffer, len, &seq, 'F', response, &response_length); fprintf(stderr, "sender: sending file %s\n", file_list[i]); send_file_data(fd_out, fd_in, file, &seq); len = 4; set_hf_send_packet(fd_out, fd_in, buffer, len, &seq, 'Z', response, &response_length); close(file); } len = 4; set_hf_send_packet(fd_out, fd_in, buffer, len, &seq, 'B', response, &response_length); free(tabel); }