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