int main (int argc, char* argv[]) { pthread_t thread_read_serial; printf("Starting application...\n"); int i = open_device(); printf("Serial port open %d\n", i); printf("=> Send device_status() : "); i = device_status(); printf("%d\n", i); i = get_network_status(); printf("Get network status sent\n"); i = get_children_amount(); printf("Get children amount sent\n"); return 0; /* i = serial_write_byte('a'); */ /* char temp; */ /* unsigned char *ptr_tmp; */ /* ptr_tmp = (unsigned char *) malloc(2*sizeof(unsigned char)); */ /* *ptr_tmp = 0xEE; */ /* *(ptr_tmp + 1) = 0xBB; */ /* //data_from_network(); */ /* char c[20]; */ /* //serial_read_file(c, 1); */ /* if (device_status() == 0) printf("Dispositivo presente\n"); printf ("Direccion de red : %x\n", get_network_status()); printf ("Nodos conectados : %d\n", get_children_amount()); */ /* while(!(i = serial_read_byte(c, 1))); */ /* //i = recv_data(); */ /* printf("El valor de i : %d c %x\n", i, c[0]); */ /* pthread_create(&thread_read_serial, NULL, serial_recv, NULL); */ /* //serial_write_byte('A'); */ /* //printf("Se escribio el byte\n"); */ /* while (1) */ /* sleep(1); */ return 0; }
static int audio_busy(void) { if (device_status() & 1) /* door open */ return 0; return (cdrom_data.error & BUSY); }
static void rf_get_device_status(int fd) { RF_DeviceConfig_t device_config; void *cfg_ptr; int is_clean; int i; cfg_ptr = &device_config; do_ioctl(fd, RAIDFRAME_GET_INFO, &cfg_ptr, "RAIDFRAME_GET_INFO"); printf("Components:\n"); for(i=0; i < device_config.ndevs; i++) { printf("%20s: %s\n", device_config.devs[i].devname, device_status(device_config.devs[i].status)); } if (device_config.nspares > 0) { printf("Spares:\n"); for(i=0; i < device_config.nspares; i++) { printf("%20s: %s\n", device_config.spares[i].devname, device_status(device_config.spares[i].status)); } } else { printf("No spares.\n"); } for(i=0; i < device_config.ndevs; i++) { if (device_config.devs[i].status == rf_ds_optimal) { get_component_label(fd, device_config.devs[i].devname); } else { printf("%s status is: %s. Skipping label.\n", device_config.devs[i].devname, device_status(device_config.devs[i].status)); } } if (device_config.nspares > 0) { for(i=0; i < device_config.nspares; i++) { if ((device_config.spares[i].status == rf_ds_optimal) || (device_config.spares[i].status == rf_ds_used_spare)) { get_component_label(fd, device_config.spares[i].devname); } else { printf("%s status is: %s. Skipping label.\n", device_config.spares[i].devname, device_status(device_config.spares[i].status)); } } } do_ioctl(fd, RAIDFRAME_CHECK_PARITY, &is_clean, "RAIDFRAME_CHECK_PARITY"); if (is_clean) { printf("Parity status: clean\n"); } else { printf("Parity status: DIRTY\n"); } check_status(fd,0); }