Subversion Repositories shark

Rev

Rev 424 | Details | Compare with Previous | 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 */