Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place. Commercial Alternative to JupyterHub.
Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place. Commercial Alternative to JupyterHub.
Path: blob/next/external/patch/misc/headers-debian-byteshift.patch
Views: 3959
Signed-off-by: Matt Fleming <[email protected]>1Link: http://lkml.kernel.org/r/[email protected]2Signed-off-by: H. Peter Anvin <[email protected]>3Signed-off-by: Greg Kroah-Hartman <[email protected]>45---6tools/include/tools/be_byteshift.h | 70 +++++++++++++++++++++++++++++++++++++7tools/include/tools/le_byteshift.h | 70 +++++++++++++++++++++++++++++++++++++82 files changed, 140 insertions(+)910--- /dev/null11+++ b/tools/include/tools/be_byteshift.h12@@ -0,0 +1,70 @@13+#ifndef _TOOLS_BE_BYTESHIFT_H14+#define _TOOLS_BE_BYTESHIFT_H15+16+#include <linux/types.h>17+18+static inline __u16 __get_unaligned_be16(const __u8 *p)19+{20+ return p[0] << 8 | p[1];21+}22+23+static inline __u32 __get_unaligned_be32(const __u8 *p)24+{25+ return p[0] << 24 | p[1] << 16 | p[2] << 8 | p[3];26+}27+28+static inline __u64 __get_unaligned_be64(const __u8 *p)29+{30+ return (__u64)__get_unaligned_be32(p) << 32 |31+ __get_unaligned_be32(p + 4);32+}33+34+static inline void __put_unaligned_be16(__u16 val, __u8 *p)35+{36+ *p++ = val >> 8;37+ *p++ = val;38+}39+40+static inline void __put_unaligned_be32(__u32 val, __u8 *p)41+{42+ __put_unaligned_be16(val >> 16, p);43+ __put_unaligned_be16(val, p + 2);44+}45+46+static inline void __put_unaligned_be64(__u64 val, __u8 *p)47+{48+ __put_unaligned_be32(val >> 32, p);49+ __put_unaligned_be32(val, p + 4);50+}51+52+static inline __u16 get_unaligned_be16(const void *p)53+{54+ return __get_unaligned_be16((const __u8 *)p);55+}56+57+static inline __u32 get_unaligned_be32(const void *p)58+{59+ return __get_unaligned_be32((const __u8 *)p);60+}61+62+static inline __u64 get_unaligned_be64(const void *p)63+{64+ return __get_unaligned_be64((const __u8 *)p);65+}66+67+static inline void put_unaligned_be16(__u16 val, void *p)68+{69+ __put_unaligned_be16(val, p);70+}71+72+static inline void put_unaligned_be32(__u32 val, void *p)73+{74+ __put_unaligned_be32(val, p);75+}76+77+static inline void put_unaligned_be64(__u64 val, void *p)78+{79+ __put_unaligned_be64(val, p);80+}81+82+#endif /* _TOOLS_BE_BYTESHIFT_H */83--- /dev/null84+++ b/tools/include/tools/le_byteshift.h85@@ -0,0 +1,70 @@86+#ifndef _TOOLS_LE_BYTESHIFT_H87+#define _TOOLS_LE_BYTESHIFT_H88+89+#include <linux/types.h>90+91+static inline __u16 __get_unaligned_le16(const __u8 *p)92+{93+ return p[0] | p[1] << 8;94+}95+96+static inline __u32 __get_unaligned_le32(const __u8 *p)97+{98+ return p[0] | p[1] << 8 | p[2] << 16 | p[3] << 24;99+}100+101+static inline __u64 __get_unaligned_le64(const __u8 *p)102+{103+ return (__u64)__get_unaligned_le32(p + 4) << 32 |104+ __get_unaligned_le32(p);105+}106+107+static inline void __put_unaligned_le16(__u16 val, __u8 *p)108+{109+ *p++ = val;110+ *p++ = val >> 8;111+}112+113+static inline void __put_unaligned_le32(__u32 val, __u8 *p)114+{115+ __put_unaligned_le16(val >> 16, p + 2);116+ __put_unaligned_le16(val, p);117+}118+119+static inline void __put_unaligned_le64(__u64 val, __u8 *p)120+{121+ __put_unaligned_le32(val >> 32, p + 4);122+ __put_unaligned_le32(val, p);123+}124+125+static inline __u16 get_unaligned_le16(const void *p)126+{127+ return __get_unaligned_le16((const __u8 *)p);128+}129+130+static inline __u32 get_unaligned_le32(const void *p)131+{132+ return __get_unaligned_le32((const __u8 *)p);133+}134+135+static inline __u64 get_unaligned_le64(const void *p)136+{137+ return __get_unaligned_le64((const __u8 *)p);138+}139+140+static inline void put_unaligned_le16(__u16 val, void *p)141+{142+ __put_unaligned_le16(val, p);143+}144+145+static inline void put_unaligned_le32(__u32 val, void *p)146+{147+ __put_unaligned_le32(val, p);148+}149+150+static inline void put_unaligned_le64(__u64 val, void *p)151+{152+ __put_unaligned_le64(val, p);153+}154+155+#endif /* _TOOLS_LE_BYTESHIFT_H */156157158