Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
424 | giacomo | 1 | #ifndef _LINUX_BYTEORDER_PDP_ENDIAN_H |
2 | #define _LINUX_BYTEORDER_PDP_ENDIAN_H |
||
3 | |||
4 | /* |
||
5 | * Could have been named NUXI-endian, but we use the same name as in glibc. |
||
6 | * hopefully only the PDP and its evolutions (old VAXen in compatibility mode) |
||
7 | * should ever use this braindead byteorder. |
||
8 | * This file *should* work, but has not been tested. |
||
9 | * |
||
10 | * little-endian is 1234; big-endian is 4321; nuxi/pdp-endian is 3412 |
||
11 | * |
||
12 | * I thought vaxen were NUXI-endian, but was told they were correct-endian |
||
13 | * (little-endian), though indeed there existed NUXI-endian machines |
||
14 | * (DEC PDP-11 and old VAXen in compatibility mode). |
||
15 | * This makes this file a bit useless, but as a proof-of-concept. |
||
16 | * |
||
17 | * But what does a __u64 look like: is it 34127856 or 78563412 ??? |
||
18 | * I don't dare imagine! Hence, no 64-bit byteorder support yet. |
||
19 | * Hopefully, there 64-bit pdp-endian support shouldn't ever be required. |
||
20 | * |
||
21 | */ |
||
22 | |||
23 | #ifndef __PDP_ENDIAN |
||
24 | #define __PDP_ENDIAN 3412 |
||
25 | #endif |
||
26 | #ifndef __PDP_ENDIAN_BITFIELD |
||
27 | #define __PDP_ENDIAN_BITFIELD |
||
28 | #endif |
||
29 | |||
30 | #include <linux/byteorder/swab.h> |
||
31 | #include <linux/byteorder/swabb.h> |
||
32 | |||
33 | #define __constant_htonl(x) ___constant_swahb32((x)) |
||
34 | #define __constant_ntohl(x) ___constant_swahb32((x)) |
||
35 | #define __constant_htons(x) ___constant_swab16((x)) |
||
36 | #define __constant_ntohs(x) ___constant_swab16((x)) |
||
37 | #define __constant_cpu_to_le64(x) I DON'T KNOW |
||
38 | #define __constant_le64_to_cpu(x) I DON'T KNOW |
||
39 | #define __constant_cpu_to_le32(x) ___constant_swahw32((x)) |
||
40 | #define __constant_le32_to_cpu(x) ___constant_swahw32((x)) |
||
41 | #define __constant_cpu_to_le16(x) ((__u16)(x) |
||
42 | #define __constant_le16_to_cpu(x) ((__u16)(x) |
||
43 | #define __constant_cpu_to_be64(x) I DON'T KNOW |
||
44 | #define __constant_be64_to_cpu(x) I DON'T KNOW |
||
45 | #define __constant_cpu_to_be32(x) ___constant_swahb32((x)) |
||
46 | #define __constant_be32_to_cpu(x) ___constant_swahb32((x)) |
||
47 | #define __constant_cpu_to_be16(x) ___constant_swab16((x)) |
||
48 | #define __constant_be16_to_cpu(x) ___constant_swab16((x)) |
||
49 | #define __cpu_to_le64(x) I DON'T KNOW |
||
50 | #define __le64_to_cpu(x) I DON'T KNOW |
||
51 | #define __cpu_to_le32(x) ___swahw32((x)) |
||
52 | #define __le32_to_cpu(x) ___swahw32((x)) |
||
53 | #define __cpu_to_le16(x) ((__u16)(x) |
||
54 | #define __le16_to_cpu(x) ((__u16)(x) |
||
55 | #define __cpu_to_be64(x) I DON'T KNOW |
||
56 | #define __be64_to_cpu(x) I DON'T KNOW |
||
57 | #define __cpu_to_be32(x) __swahb32((x)) |
||
58 | #define __be32_to_cpu(x) __swahb32((x)) |
||
59 | #define __cpu_to_be16(x) __swab16((x)) |
||
60 | #define __be16_to_cpu(x) __swab16((x)) |
||
61 | #define __cpu_to_le64p(x) I DON'T KNOW |
||
62 | #define __le64_to_cpup(x) I DON'T KNOW |
||
63 | #define __cpu_to_le32p(x) ___swahw32p((x)) |
||
64 | #define __le32_to_cpup(x) ___swahw32p((x)) |
||
65 | #define __cpu_to_le16p(x) (*(__u16*)(x)) |
||
66 | #define __le16_to_cpup(x) (*(__u16*)(x)) |
||
67 | #define __cpu_to_be64p(x) I DON'T KNOW |
||
68 | #define __be64_to_cpup(x) I DON'T KNOW |
||
69 | #define __cpu_to_be32p(x) __swahb32p((x)) |
||
70 | #define __be32_to_cpup(x) __swahb32p((x)) |
||
71 | #define __cpu_to_be16p(x) __swab16p((x)) |
||
72 | #define __be16_to_cpup(x) __swab16p((x)) |
||
73 | #define __cpu_to_le64s(x) I DON'T KNOW |
||
74 | #define __le64_to_cpus(x) I DON'T KNOW |
||
75 | #define __cpu_to_le32s(x) ___swahw32s((x)) |
||
76 | #define __le32_to_cpus(x) ___swahw32s((x)) |
||
77 | #define __cpu_to_le16s(x) do {} while (0) |
||
78 | #define __le16_to_cpus(x) do {} while (0) |
||
79 | #define __cpu_to_be64s(x) I DON'T KNOW |
||
80 | #define __be64_to_cpus(x) I DON'T KNOW |
||
81 | #define __cpu_to_be32s(x) __swahb32s((x)) |
||
82 | #define __be32_to_cpus(x) __swahb32s((x)) |
||
83 | #define __cpu_to_be16s(x) __swab16s((x)) |
||
84 | #define __be16_to_cpus(x) __swab16s((x)) |
||
85 | |||
86 | #include <linux/byteorder/generic.h> |
||
87 | |||
88 | #endif /* _LINUX_BYTEORDER_PDP_ENDIAN_H */ |