]>
git.ipfire.org Git - thirdparty/util-linux.git/blob - include/iso9660.h
2 * No copyright is claimed. This code is in the public domain; do with
5 #ifndef UTIL_LINUX_ISO_H
6 #define UTIL_LINUX_ISO_H
13 static inline uint16_t isonum_721(const unsigned char *p
)
16 | ((p
[1] & 0xff) << 8));
19 static inline uint16_t isonum_722(const unsigned char *p
)
22 | ((p
[0] & 0xff) << 8));
25 static inline uint16_t isonum_723(const unsigned char *p
, bool check_match
)
27 uint16_t le
= isonum_721(p
);
28 uint16_t be
= isonum_722(p
+ 2);
30 if (check_match
&& le
!= be
)
31 /* translation is useless */
32 warnx("723error: le=%d be=%d", le
, be
);
36 static inline uint32_t isonum_731(const unsigned char *p
)
39 | ((p
[1] & 0xff) << 8)
40 | ((p
[2] & 0xff) << 16)
41 | (((uint32_t) p
[3] & 0xff) << 24));
44 static inline uint32_t isonum_732(const unsigned char *p
)
47 | ((p
[2] & 0xff) << 8)
48 | ((p
[1] & 0xff) << 16)
49 | (((uint32_t) p
[0] & 0xff) << 24));
52 static inline uint32_t isonum_733(const unsigned char *p
, bool check_match
)
54 uint32_t le
= isonum_731(p
);
55 uint32_t be
= isonum_732(p
+ 4);
57 if (check_match
&& le
!= be
)
58 /* translation is useless */
59 warnx("733error: le=%d be=%d", le
, be
);