1 #ifndef __UDF_ENDIAN_H 2 #define __UDF_ENDIAN_H 3 4 #include <asm/byteorder.h> 5 #include <linux/string.h> 6 lelb_to_cpu(lb_addr in)7static inline lb_addr lelb_to_cpu(lb_addr in) 8 { 9 lb_addr out; 10 out.logicalBlockNum = le32_to_cpu(in.logicalBlockNum); 11 out.partitionReferenceNum = le16_to_cpu(in.partitionReferenceNum); 12 return out; 13 } 14 cpu_to_lelb(lb_addr in)15static inline lb_addr cpu_to_lelb(lb_addr in) 16 { 17 lb_addr out; 18 out.logicalBlockNum = cpu_to_le32(in.logicalBlockNum); 19 out.partitionReferenceNum = cpu_to_le16(in.partitionReferenceNum); 20 return out; 21 } 22 lets_to_cpu(timestamp in)23static inline timestamp lets_to_cpu(timestamp in) 24 { 25 timestamp out; 26 memcpy(&out, &in, sizeof(timestamp)); 27 out.typeAndTimezone = le16_to_cpu(in.typeAndTimezone); 28 out.year = le16_to_cpu(in.year); 29 return out; 30 } 31 lesa_to_cpu(short_ad in)32static inline short_ad lesa_to_cpu(short_ad in) 33 { 34 short_ad out; 35 out.extLength = le32_to_cpu(in.extLength); 36 out.extPosition = le32_to_cpu(in.extPosition); 37 return out; 38 } 39 cpu_to_lesa(short_ad in)40static inline short_ad cpu_to_lesa(short_ad in) 41 { 42 short_ad out; 43 out.extLength = cpu_to_le32(in.extLength); 44 out.extPosition = cpu_to_le32(in.extPosition); 45 return out; 46 } 47 lela_to_cpu(long_ad in)48static inline long_ad lela_to_cpu(long_ad in) 49 { 50 long_ad out; 51 out.extLength = le32_to_cpu(in.extLength); 52 out.extLocation = lelb_to_cpu(in.extLocation); 53 return out; 54 } 55 cpu_to_lela(long_ad in)56static inline long_ad cpu_to_lela(long_ad in) 57 { 58 long_ad out; 59 out.extLength = cpu_to_le32(in.extLength); 60 out.extLocation = cpu_to_lelb(in.extLocation); 61 return out; 62 } 63 leea_to_cpu(extent_ad in)64static inline extent_ad leea_to_cpu(extent_ad in) 65 { 66 extent_ad out; 67 out.extLength = le32_to_cpu(in.extLength); 68 out.extLocation = le32_to_cpu(in.extLocation); 69 return out; 70 } 71 cpu_to_lets(timestamp in)72static inline timestamp cpu_to_lets(timestamp in) 73 { 74 timestamp out; 75 memcpy(&out, &in, sizeof(timestamp)); 76 out.typeAndTimezone = cpu_to_le16(in.typeAndTimezone); 77 out.year = cpu_to_le16(in.year); 78 return out; 79 } 80 81 #endif /* __UDF_ENDIAN_H */ 82