int main(int argc, char* argv[]) { infile = stdin; outfile = stdout; for(;;) switch(getopt(argc, argv, "r:hb:o:c:")) { case 'r': rate = atoi(optarg); break; case 'b': bps = atoi(optarg); break; case 'c': carrier = atof(optarg); break; case 'o': outfile = fopen(optarg, "w"); if(outfile == NULL) { perror(optarg); exit(EXIT_FAILURE); } break; case 'h': usage(argv[0]); break; case -1: goto done; default: exit(EXIT_FAILURE); } done: if(optind < argc) { infile = fopen(argv[optind], "r"); if(infile == NULL) { perror(argv[optind]); exit(EXIT_FAILURE); } } int c; while( ( c = fgetc(infile)) != EOF ) { generate_bit(c & 128); generate_bit(c & 64); generate_bit(c & 32); generate_bit(c & 16); generate_bit(c & 8); generate_bit(c & 4); generate_bit(c & 2); generate_bit(c & 1); generate_nextbit(); } return EXIT_SUCCESS; }
void lfsr(uint32_t *temp_1_bs_return, uint32_t state[8]){ uint32_t rndm_bits[32] = {0}; uint8_t r = 0; r = 0; for(;r < 32;) { uint32_t temp_3_call; temp_3_call = generate_bit(state); if(r >= 32){ fprintf(stderr, "Index out of bounds for selection on rndm_bits\n"); exit(1); } rndm_bits[r] = temp_3_call; r = (r + 1); } temp_1_bs_return[0] = rndm_bits[0]; temp_1_bs_return[1] = rndm_bits[1]; temp_1_bs_return[2] = rndm_bits[2]; temp_1_bs_return[3] = rndm_bits[3]; temp_1_bs_return[4] = rndm_bits[4]; temp_1_bs_return[5] = rndm_bits[5]; temp_1_bs_return[6] = rndm_bits[6]; temp_1_bs_return[7] = rndm_bits[7]; temp_1_bs_return[8] = rndm_bits[8]; temp_1_bs_return[9] = rndm_bits[9]; temp_1_bs_return[10] = rndm_bits[10]; temp_1_bs_return[11] = rndm_bits[11]; temp_1_bs_return[12] = rndm_bits[12]; temp_1_bs_return[13] = rndm_bits[13]; temp_1_bs_return[14] = rndm_bits[14]; temp_1_bs_return[15] = rndm_bits[15]; temp_1_bs_return[16] = rndm_bits[16]; temp_1_bs_return[17] = rndm_bits[17]; temp_1_bs_return[18] = rndm_bits[18]; temp_1_bs_return[19] = rndm_bits[19]; temp_1_bs_return[20] = rndm_bits[20]; temp_1_bs_return[21] = rndm_bits[21]; temp_1_bs_return[22] = rndm_bits[22]; temp_1_bs_return[23] = rndm_bits[23]; temp_1_bs_return[24] = rndm_bits[24]; temp_1_bs_return[25] = rndm_bits[25]; temp_1_bs_return[26] = rndm_bits[26]; temp_1_bs_return[27] = rndm_bits[27]; temp_1_bs_return[28] = rndm_bits[28]; temp_1_bs_return[29] = rndm_bits[29]; temp_1_bs_return[30] = rndm_bits[30]; temp_1_bs_return[31] = rndm_bits[31]; }