1 /* 2 OWFS -- One-Wire filesystem 3 OWHTTPD -- One-Wire Web Server 4 Written 2003 Paul H Alfille 5 email: paul.alfille@gmail.com 6 Released under the GPL 7 See the header file: ow.h for full attribution 8 1wire/iButton system from Dallas Semiconductor 9 */ 10 11 #include <config.h> 12 #include "owfs_config.h" 13 #include "ow.h" 14 ALLtoBYTE(struct one_wire_query * owq_all)15struct one_wire_query * ALLtoBYTE(struct one_wire_query *owq_all) 16 { 17 struct one_wire_query * owq_byte = OWQ_create_separate( EXTENSION_BYTE, owq_all ); 18 size_t elements = PN(owq_all)->selected_filetype->ag->elements ; 19 size_t extension ; 20 21 if ( owq_byte == NO_ONE_WIRE_QUERY ) { 22 return NO_ONE_WIRE_QUERY ; 23 } 24 25 for ( extension = 0 ; extension < elements ; ++extension ) { 26 UT_setbit_U( &OWQ_U(owq_byte), extension, OWQ_array_Y(owq_all,extension) ) ; 27 } 28 return owq_byte ; 29 } 30 BYTEtoALL(struct one_wire_query * owq_byte)31struct one_wire_query * BYTEtoALL(struct one_wire_query *owq_byte) 32 { 33 struct one_wire_query * owq_all = OWQ_create_aggregate( owq_byte ); 34 size_t elements ; 35 size_t extension ; 36 37 if ( owq_all == NO_ONE_WIRE_QUERY ) { 38 return NO_ONE_WIRE_QUERY ; 39 } 40 41 elements = PN(owq_all)->selected_filetype->ag->elements ; 42 43 for ( extension = 0 ; extension < elements ; ++extension ) { 44 OWQ_array_Y(owq_all,extension) = UT_getbit_U( OWQ_U(owq_byte), extension ) ; 45 } 46 return owq_all ; 47 } 48