struct one_wire_query * ALLtoBYTE(struct one_wire_query *owq_all) { struct one_wire_query * owq_byte = OWQ_create_separate( EXTENSION_BYTE, owq_all ); size_t elements = PN(owq_all)->selected_filetype->ag->elements ; size_t extension ; if ( owq_byte == NO_ONE_WIRE_QUERY ) { return NO_ONE_WIRE_QUERY ; } for ( extension = 0 ; extension < elements ; ++extension ) { UT_setbit_U( &OWQ_U(owq_byte), extension, OWQ_array_Y(owq_all,extension) ) ; } return owq_byte ; }
// Handles: BYTE static ZERO_OR_ERROR FS_read_all_bits(struct one_wire_query *owq_byte) { struct one_wire_query * owq_bit = OWQ_create_separate( 0, owq_byte ) ; struct parsedname *pn = PN(owq_byte); size_t elements = pn->selected_filetype->ag->elements; size_t extension; if ( owq_bit == NO_ONE_WIRE_QUERY ) { return -ENOENT ; } /* Loop through F_r_single, just to get data */ for (extension = 0; extension < elements; ++extension) { OWQ_pn(owq_bit).extension = extension ; if ( FS_read_owq(owq_bit) < 0 ) { OWQ_destroy(owq_bit); return -EINVAL; } UT_setbit_U( &OWQ_U(owq_byte), extension, OWQ_Y(owq_bit) ) ; } OWQ_destroy(owq_bit); return 0; }