void rel_read(rel_t *s) { int data_size = 0; data_size = conn_input(s->c, s->sender.packet.data, MAX_DATA_SIZE); if (data_size == 0) { return; } else if (data_size > 0 && data_size <= MAX_DATA_SIZE) { send_data_pkt(s, data_size); } else if (data_size > MAX_DATA_SIZE) { send_data_pkt(s, MAX_DATA_SIZE); } }
int main(int argc, char* argv[]) { int fd; /* the audio file descriptor */ int optc; /* for getopt */ int filetype = FILE_TYPE_WAV; /* install the sig handler */ (void)signal(SIGINT, cleanup); #ifdef MASTER_CLK if (argc < 7) { #else if (argc < 5) { #endif /* MASTER_CLK */ if (argc < 2) { usage(); return; } /* TODO : Cleanup the mess */ if (!strcmp(argv[1], "test")) { test_aow_ioctl(); return; } else if (!strcmp(argv[1], "spkt")) { if (argc < 3) { send_data_pkt(1024); }else send_data_pkt(atoi(argv[2])); return; } else if (!strcmp(argv[1], "stop")) { send_aow_reset(); return; } else if (!strcmp(argv[1], "start")) { send_aow_start(); return; } else if (!strcmp(argv[1], "ch")) { if (argc < 4) { printf("mplay ch <channel : 0-9> <macaddress xx:xx:xx:xx:xx:xx>\n"); return; } set_aow_channel(atoi(argv[2]), argv[3]); return; } usage(); return; } if (!strcmp(argv[2], "wav")) { filetype = FILE_TYPE_WAV; } else if (!strcmp(argv[2], "pcm")) { filetype = FILE_TYPE_PCM; } else { usage(); return; } if (!strcmp(argv[3], "delay")) { wait_in_usec = atoi(argv[4]); } else { wait_in_usec = WAIT_TIME_IN_USEC; } #ifdef MASTER_CLK if (!strcmp(argv[5], "mclk")) mclk_sel = 1; else mclk_sel = 0; #endif /* MASTER_CLK */ if ((fd = open(argv[1], O_RDONLY)) == -1) { perror(argv[optind]); exit(-1); } switch(filetype) { case FILE_TYPE_PCM: playpcm(fd); break; case FILE_TYPE_WAV: playwav(fd); break; default: usage(); break; } close(fd); return 0; }