1*19c3b8c2SApple OSS Distributions /*
2*19c3b8c2SApple OSS Distributions * Copyright (c) 1999-2002 Apple Computer, Inc. All rights reserved.
3*19c3b8c2SApple OSS Distributions *
4*19c3b8c2SApple OSS Distributions * @APPLE_LICENSE_HEADER_START@
5*19c3b8c2SApple OSS Distributions *
6*19c3b8c2SApple OSS Distributions * "Portions Copyright (c) 1999 Apple Computer, Inc. All Rights
7*19c3b8c2SApple OSS Distributions * Reserved. This file contains Original Code and/or Modifications of
8*19c3b8c2SApple OSS Distributions * Original Code as defined in and that are subject to the Apple Public
9*19c3b8c2SApple OSS Distributions * Source License Version 1.0 (the 'License'). You may not use this file
10*19c3b8c2SApple OSS Distributions * except in compliance with the License. Please obtain a copy of the
11*19c3b8c2SApple OSS Distributions * License at http://www.apple.com/publicsource and read it before using
12*19c3b8c2SApple OSS Distributions * this file.
13*19c3b8c2SApple OSS Distributions *
14*19c3b8c2SApple OSS Distributions * The Original Code and all software distributed under the License are
15*19c3b8c2SApple OSS Distributions * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
16*19c3b8c2SApple OSS Distributions * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
17*19c3b8c2SApple OSS Distributions * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
18*19c3b8c2SApple OSS Distributions * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
19*19c3b8c2SApple OSS Distributions * License for the specific language governing rights and limitations
20*19c3b8c2SApple OSS Distributions * under the License."
21*19c3b8c2SApple OSS Distributions *
22*19c3b8c2SApple OSS Distributions * @APPLE_LICENSE_HEADER_END@
23*19c3b8c2SApple OSS Distributions */
24*19c3b8c2SApple OSS Distributions /*
25*19c3b8c2SApple OSS Distributions * Copyright (c) 1992 NeXT Computer, Inc.
26*19c3b8c2SApple OSS Distributions *
27*19c3b8c2SApple OSS Distributions * Byte ordering conversion.
28*19c3b8c2SApple OSS Distributions *
29*19c3b8c2SApple OSS Distributions */
30*19c3b8c2SApple OSS Distributions
31*19c3b8c2SApple OSS Distributions #ifndef _ARCHITECTURE_BYTE_ORDER_H_
32*19c3b8c2SApple OSS Distributions #define _ARCHITECTURE_BYTE_ORDER_H_
33*19c3b8c2SApple OSS Distributions
34*19c3b8c2SApple OSS Distributions #include <libkern/OSByteOrder.h>
35*19c3b8c2SApple OSS Distributions
36*19c3b8c2SApple OSS Distributions typedef unsigned long NXSwappedFloat;
37*19c3b8c2SApple OSS Distributions typedef unsigned long long NXSwappedDouble;
38*19c3b8c2SApple OSS Distributions
39*19c3b8c2SApple OSS Distributions static __inline__
40*19c3b8c2SApple OSS Distributions unsigned short
NXSwapShort(unsigned short inv)41*19c3b8c2SApple OSS Distributions NXSwapShort(
42*19c3b8c2SApple OSS Distributions unsigned short inv
43*19c3b8c2SApple OSS Distributions )
44*19c3b8c2SApple OSS Distributions {
45*19c3b8c2SApple OSS Distributions return (unsigned short)OSSwapInt16((uint16_t)inv);
46*19c3b8c2SApple OSS Distributions }
47*19c3b8c2SApple OSS Distributions
48*19c3b8c2SApple OSS Distributions static __inline__
49*19c3b8c2SApple OSS Distributions unsigned int
NXSwapInt(unsigned int inv)50*19c3b8c2SApple OSS Distributions NXSwapInt(
51*19c3b8c2SApple OSS Distributions unsigned int inv
52*19c3b8c2SApple OSS Distributions )
53*19c3b8c2SApple OSS Distributions {
54*19c3b8c2SApple OSS Distributions return (unsigned int)OSSwapInt32((uint32_t)inv);
55*19c3b8c2SApple OSS Distributions }
56*19c3b8c2SApple OSS Distributions
57*19c3b8c2SApple OSS Distributions static __inline__
58*19c3b8c2SApple OSS Distributions unsigned long
NXSwapLong(unsigned long inv)59*19c3b8c2SApple OSS Distributions NXSwapLong(
60*19c3b8c2SApple OSS Distributions unsigned long inv
61*19c3b8c2SApple OSS Distributions )
62*19c3b8c2SApple OSS Distributions {
63*19c3b8c2SApple OSS Distributions return (unsigned long)OSSwapInt32((uint32_t)inv);
64*19c3b8c2SApple OSS Distributions }
65*19c3b8c2SApple OSS Distributions
66*19c3b8c2SApple OSS Distributions static __inline__
67*19c3b8c2SApple OSS Distributions unsigned long long
NXSwapLongLong(unsigned long long inv)68*19c3b8c2SApple OSS Distributions NXSwapLongLong(
69*19c3b8c2SApple OSS Distributions unsigned long long inv
70*19c3b8c2SApple OSS Distributions )
71*19c3b8c2SApple OSS Distributions {
72*19c3b8c2SApple OSS Distributions return (unsigned long long)OSSwapInt64((uint64_t)inv);
73*19c3b8c2SApple OSS Distributions }
74*19c3b8c2SApple OSS Distributions
75*19c3b8c2SApple OSS Distributions static __inline__ NXSwappedFloat
NXConvertHostFloatToSwapped(float x)76*19c3b8c2SApple OSS Distributions NXConvertHostFloatToSwapped(float x)
77*19c3b8c2SApple OSS Distributions {
78*19c3b8c2SApple OSS Distributions union fconv {
79*19c3b8c2SApple OSS Distributions float number;
80*19c3b8c2SApple OSS Distributions NXSwappedFloat sf;
81*19c3b8c2SApple OSS Distributions } u;
82*19c3b8c2SApple OSS Distributions u.number = x;
83*19c3b8c2SApple OSS Distributions return u.sf;
84*19c3b8c2SApple OSS Distributions }
85*19c3b8c2SApple OSS Distributions
86*19c3b8c2SApple OSS Distributions static __inline__ float
NXConvertSwappedFloatToHost(NXSwappedFloat x)87*19c3b8c2SApple OSS Distributions NXConvertSwappedFloatToHost(NXSwappedFloat x)
88*19c3b8c2SApple OSS Distributions {
89*19c3b8c2SApple OSS Distributions union fconv {
90*19c3b8c2SApple OSS Distributions float number;
91*19c3b8c2SApple OSS Distributions NXSwappedFloat sf;
92*19c3b8c2SApple OSS Distributions } u;
93*19c3b8c2SApple OSS Distributions u.sf = x;
94*19c3b8c2SApple OSS Distributions return u.number;
95*19c3b8c2SApple OSS Distributions }
96*19c3b8c2SApple OSS Distributions
97*19c3b8c2SApple OSS Distributions static __inline__ NXSwappedDouble
NXConvertHostDoubleToSwapped(double x)98*19c3b8c2SApple OSS Distributions NXConvertHostDoubleToSwapped(double x)
99*19c3b8c2SApple OSS Distributions {
100*19c3b8c2SApple OSS Distributions union dconv {
101*19c3b8c2SApple OSS Distributions double number;
102*19c3b8c2SApple OSS Distributions NXSwappedDouble sd;
103*19c3b8c2SApple OSS Distributions } u;
104*19c3b8c2SApple OSS Distributions u.number = x;
105*19c3b8c2SApple OSS Distributions return u.sd;
106*19c3b8c2SApple OSS Distributions }
107*19c3b8c2SApple OSS Distributions
108*19c3b8c2SApple OSS Distributions static __inline__ double
NXConvertSwappedDoubleToHost(NXSwappedDouble x)109*19c3b8c2SApple OSS Distributions NXConvertSwappedDoubleToHost(NXSwappedDouble x)
110*19c3b8c2SApple OSS Distributions {
111*19c3b8c2SApple OSS Distributions union dconv {
112*19c3b8c2SApple OSS Distributions double number;
113*19c3b8c2SApple OSS Distributions NXSwappedDouble sd;
114*19c3b8c2SApple OSS Distributions } u;
115*19c3b8c2SApple OSS Distributions u.sd = x;
116*19c3b8c2SApple OSS Distributions return u.number;
117*19c3b8c2SApple OSS Distributions }
118*19c3b8c2SApple OSS Distributions
119*19c3b8c2SApple OSS Distributions static __inline__ NXSwappedFloat
NXSwapFloat(NXSwappedFloat x)120*19c3b8c2SApple OSS Distributions NXSwapFloat(NXSwappedFloat x)
121*19c3b8c2SApple OSS Distributions {
122*19c3b8c2SApple OSS Distributions return (NXSwappedFloat)OSSwapInt32((uint32_t)x);
123*19c3b8c2SApple OSS Distributions }
124*19c3b8c2SApple OSS Distributions
125*19c3b8c2SApple OSS Distributions static __inline__ NXSwappedDouble
NXSwapDouble(NXSwappedDouble x)126*19c3b8c2SApple OSS Distributions NXSwapDouble(NXSwappedDouble x)
127*19c3b8c2SApple OSS Distributions {
128*19c3b8c2SApple OSS Distributions return (NXSwappedDouble)OSSwapInt64((uint64_t)x);
129*19c3b8c2SApple OSS Distributions }
130*19c3b8c2SApple OSS Distributions
131*19c3b8c2SApple OSS Distributions /*
132*19c3b8c2SApple OSS Distributions * Identify the byte order
133*19c3b8c2SApple OSS Distributions * of the current host.
134*19c3b8c2SApple OSS Distributions */
135*19c3b8c2SApple OSS Distributions
136*19c3b8c2SApple OSS Distributions enum NXByteOrder {
137*19c3b8c2SApple OSS Distributions NX_UnknownByteOrder,
138*19c3b8c2SApple OSS Distributions NX_LittleEndian,
139*19c3b8c2SApple OSS Distributions NX_BigEndian
140*19c3b8c2SApple OSS Distributions };
141*19c3b8c2SApple OSS Distributions
142*19c3b8c2SApple OSS Distributions static __inline__
143*19c3b8c2SApple OSS Distributions enum NXByteOrder
NXHostByteOrder(void)144*19c3b8c2SApple OSS Distributions NXHostByteOrder(void)
145*19c3b8c2SApple OSS Distributions {
146*19c3b8c2SApple OSS Distributions #if defined(__LITTLE_ENDIAN__)
147*19c3b8c2SApple OSS Distributions return NX_LittleEndian;
148*19c3b8c2SApple OSS Distributions #elif defined(__BIG_ENDIAN__)
149*19c3b8c2SApple OSS Distributions return NX_BigEndian;
150*19c3b8c2SApple OSS Distributions #else
151*19c3b8c2SApple OSS Distributions return NX_UnknownByteOrder;
152*19c3b8c2SApple OSS Distributions #endif
153*19c3b8c2SApple OSS Distributions }
154*19c3b8c2SApple OSS Distributions
155*19c3b8c2SApple OSS Distributions static __inline__
156*19c3b8c2SApple OSS Distributions unsigned short
NXSwapBigShortToHost(unsigned short x)157*19c3b8c2SApple OSS Distributions NXSwapBigShortToHost(
158*19c3b8c2SApple OSS Distributions unsigned short x
159*19c3b8c2SApple OSS Distributions )
160*19c3b8c2SApple OSS Distributions {
161*19c3b8c2SApple OSS Distributions return (unsigned short)OSSwapBigToHostInt16((uint16_t)x);
162*19c3b8c2SApple OSS Distributions }
163*19c3b8c2SApple OSS Distributions
164*19c3b8c2SApple OSS Distributions static __inline__
165*19c3b8c2SApple OSS Distributions unsigned int
NXSwapBigIntToHost(unsigned int x)166*19c3b8c2SApple OSS Distributions NXSwapBigIntToHost(
167*19c3b8c2SApple OSS Distributions unsigned int x
168*19c3b8c2SApple OSS Distributions )
169*19c3b8c2SApple OSS Distributions {
170*19c3b8c2SApple OSS Distributions return (unsigned int)OSSwapBigToHostInt32((uint32_t)x);
171*19c3b8c2SApple OSS Distributions }
172*19c3b8c2SApple OSS Distributions
173*19c3b8c2SApple OSS Distributions static __inline__
174*19c3b8c2SApple OSS Distributions unsigned long
NXSwapBigLongToHost(unsigned long x)175*19c3b8c2SApple OSS Distributions NXSwapBigLongToHost(
176*19c3b8c2SApple OSS Distributions unsigned long x
177*19c3b8c2SApple OSS Distributions )
178*19c3b8c2SApple OSS Distributions {
179*19c3b8c2SApple OSS Distributions return (unsigned long)OSSwapBigToHostInt32((uint32_t)x);
180*19c3b8c2SApple OSS Distributions }
181*19c3b8c2SApple OSS Distributions
182*19c3b8c2SApple OSS Distributions static __inline__
183*19c3b8c2SApple OSS Distributions unsigned long long
NXSwapBigLongLongToHost(unsigned long long x)184*19c3b8c2SApple OSS Distributions NXSwapBigLongLongToHost(
185*19c3b8c2SApple OSS Distributions unsigned long long x
186*19c3b8c2SApple OSS Distributions )
187*19c3b8c2SApple OSS Distributions {
188*19c3b8c2SApple OSS Distributions return (unsigned long long)OSSwapBigToHostInt64((uint64_t)x);
189*19c3b8c2SApple OSS Distributions }
190*19c3b8c2SApple OSS Distributions
191*19c3b8c2SApple OSS Distributions static __inline__
192*19c3b8c2SApple OSS Distributions double
NXSwapBigDoubleToHost(NXSwappedDouble x)193*19c3b8c2SApple OSS Distributions NXSwapBigDoubleToHost(
194*19c3b8c2SApple OSS Distributions NXSwappedDouble x
195*19c3b8c2SApple OSS Distributions )
196*19c3b8c2SApple OSS Distributions {
197*19c3b8c2SApple OSS Distributions return NXConvertSwappedDoubleToHost((NXSwappedDouble)OSSwapBigToHostInt64((uint64_t)x));
198*19c3b8c2SApple OSS Distributions }
199*19c3b8c2SApple OSS Distributions
200*19c3b8c2SApple OSS Distributions static __inline__
201*19c3b8c2SApple OSS Distributions float
NXSwapBigFloatToHost(NXSwappedFloat x)202*19c3b8c2SApple OSS Distributions NXSwapBigFloatToHost(
203*19c3b8c2SApple OSS Distributions NXSwappedFloat x
204*19c3b8c2SApple OSS Distributions )
205*19c3b8c2SApple OSS Distributions {
206*19c3b8c2SApple OSS Distributions return NXConvertSwappedFloatToHost((NXSwappedFloat)OSSwapBigToHostInt32((uint32_t)x));
207*19c3b8c2SApple OSS Distributions }
208*19c3b8c2SApple OSS Distributions
209*19c3b8c2SApple OSS Distributions static __inline__
210*19c3b8c2SApple OSS Distributions unsigned short
NXSwapHostShortToBig(unsigned short x)211*19c3b8c2SApple OSS Distributions NXSwapHostShortToBig(
212*19c3b8c2SApple OSS Distributions unsigned short x
213*19c3b8c2SApple OSS Distributions )
214*19c3b8c2SApple OSS Distributions {
215*19c3b8c2SApple OSS Distributions return (unsigned short)OSSwapHostToBigInt16((uint16_t)x);
216*19c3b8c2SApple OSS Distributions }
217*19c3b8c2SApple OSS Distributions
218*19c3b8c2SApple OSS Distributions static __inline__
219*19c3b8c2SApple OSS Distributions unsigned int
NXSwapHostIntToBig(unsigned int x)220*19c3b8c2SApple OSS Distributions NXSwapHostIntToBig(
221*19c3b8c2SApple OSS Distributions unsigned int x
222*19c3b8c2SApple OSS Distributions )
223*19c3b8c2SApple OSS Distributions {
224*19c3b8c2SApple OSS Distributions return (unsigned int)OSSwapHostToBigInt32((uint32_t)x);
225*19c3b8c2SApple OSS Distributions }
226*19c3b8c2SApple OSS Distributions
227*19c3b8c2SApple OSS Distributions static __inline__
228*19c3b8c2SApple OSS Distributions unsigned long
NXSwapHostLongToBig(unsigned long x)229*19c3b8c2SApple OSS Distributions NXSwapHostLongToBig(
230*19c3b8c2SApple OSS Distributions unsigned long x
231*19c3b8c2SApple OSS Distributions )
232*19c3b8c2SApple OSS Distributions {
233*19c3b8c2SApple OSS Distributions return (unsigned long)OSSwapHostToBigInt32((uint32_t)x);
234*19c3b8c2SApple OSS Distributions }
235*19c3b8c2SApple OSS Distributions
236*19c3b8c2SApple OSS Distributions static __inline__
237*19c3b8c2SApple OSS Distributions unsigned long long
NXSwapHostLongLongToBig(unsigned long long x)238*19c3b8c2SApple OSS Distributions NXSwapHostLongLongToBig(
239*19c3b8c2SApple OSS Distributions unsigned long long x
240*19c3b8c2SApple OSS Distributions )
241*19c3b8c2SApple OSS Distributions {
242*19c3b8c2SApple OSS Distributions return (unsigned long long)OSSwapHostToBigInt64((uint64_t)x);
243*19c3b8c2SApple OSS Distributions }
244*19c3b8c2SApple OSS Distributions
245*19c3b8c2SApple OSS Distributions static __inline__
246*19c3b8c2SApple OSS Distributions NXSwappedDouble
NXSwapHostDoubleToBig(double x)247*19c3b8c2SApple OSS Distributions NXSwapHostDoubleToBig(
248*19c3b8c2SApple OSS Distributions double x
249*19c3b8c2SApple OSS Distributions )
250*19c3b8c2SApple OSS Distributions {
251*19c3b8c2SApple OSS Distributions return (NXSwappedDouble)OSSwapHostToBigInt64((uint64_t)NXConvertHostDoubleToSwapped(x));
252*19c3b8c2SApple OSS Distributions }
253*19c3b8c2SApple OSS Distributions
254*19c3b8c2SApple OSS Distributions static __inline__
255*19c3b8c2SApple OSS Distributions NXSwappedFloat
NXSwapHostFloatToBig(float x)256*19c3b8c2SApple OSS Distributions NXSwapHostFloatToBig(
257*19c3b8c2SApple OSS Distributions float x
258*19c3b8c2SApple OSS Distributions )
259*19c3b8c2SApple OSS Distributions {
260*19c3b8c2SApple OSS Distributions return (NXSwappedFloat)OSSwapHostToBigInt32((uint32_t)NXConvertHostFloatToSwapped(x));
261*19c3b8c2SApple OSS Distributions }
262*19c3b8c2SApple OSS Distributions
263*19c3b8c2SApple OSS Distributions static __inline__
264*19c3b8c2SApple OSS Distributions unsigned short
NXSwapLittleShortToHost(unsigned short x)265*19c3b8c2SApple OSS Distributions NXSwapLittleShortToHost(
266*19c3b8c2SApple OSS Distributions unsigned short x
267*19c3b8c2SApple OSS Distributions )
268*19c3b8c2SApple OSS Distributions {
269*19c3b8c2SApple OSS Distributions return (unsigned short)OSSwapLittleToHostInt16((uint16_t)x);
270*19c3b8c2SApple OSS Distributions }
271*19c3b8c2SApple OSS Distributions
272*19c3b8c2SApple OSS Distributions static __inline__
273*19c3b8c2SApple OSS Distributions unsigned int
NXSwapLittleIntToHost(unsigned int x)274*19c3b8c2SApple OSS Distributions NXSwapLittleIntToHost(
275*19c3b8c2SApple OSS Distributions unsigned int x
276*19c3b8c2SApple OSS Distributions )
277*19c3b8c2SApple OSS Distributions {
278*19c3b8c2SApple OSS Distributions return (unsigned int)OSSwapLittleToHostInt32((uint32_t)x);
279*19c3b8c2SApple OSS Distributions }
280*19c3b8c2SApple OSS Distributions
281*19c3b8c2SApple OSS Distributions static __inline__
282*19c3b8c2SApple OSS Distributions unsigned long
NXSwapLittleLongToHost(unsigned long x)283*19c3b8c2SApple OSS Distributions NXSwapLittleLongToHost(
284*19c3b8c2SApple OSS Distributions unsigned long x
285*19c3b8c2SApple OSS Distributions )
286*19c3b8c2SApple OSS Distributions {
287*19c3b8c2SApple OSS Distributions return (unsigned long)OSSwapLittleToHostInt32((uint32_t)x);
288*19c3b8c2SApple OSS Distributions }
289*19c3b8c2SApple OSS Distributions
290*19c3b8c2SApple OSS Distributions static __inline__
291*19c3b8c2SApple OSS Distributions unsigned long long
NXSwapLittleLongLongToHost(unsigned long long x)292*19c3b8c2SApple OSS Distributions NXSwapLittleLongLongToHost(
293*19c3b8c2SApple OSS Distributions unsigned long long x
294*19c3b8c2SApple OSS Distributions )
295*19c3b8c2SApple OSS Distributions {
296*19c3b8c2SApple OSS Distributions return (unsigned long long)OSSwapLittleToHostInt64((uint64_t)x);
297*19c3b8c2SApple OSS Distributions }
298*19c3b8c2SApple OSS Distributions
299*19c3b8c2SApple OSS Distributions static __inline__
300*19c3b8c2SApple OSS Distributions double
NXSwapLittleDoubleToHost(NXSwappedDouble x)301*19c3b8c2SApple OSS Distributions NXSwapLittleDoubleToHost(
302*19c3b8c2SApple OSS Distributions NXSwappedDouble x
303*19c3b8c2SApple OSS Distributions )
304*19c3b8c2SApple OSS Distributions {
305*19c3b8c2SApple OSS Distributions return NXConvertSwappedDoubleToHost((NXSwappedDouble)OSSwapLittleToHostInt64((uint64_t)x));
306*19c3b8c2SApple OSS Distributions }
307*19c3b8c2SApple OSS Distributions
308*19c3b8c2SApple OSS Distributions static __inline__
309*19c3b8c2SApple OSS Distributions float
NXSwapLittleFloatToHost(NXSwappedFloat x)310*19c3b8c2SApple OSS Distributions NXSwapLittleFloatToHost(
311*19c3b8c2SApple OSS Distributions NXSwappedFloat x
312*19c3b8c2SApple OSS Distributions )
313*19c3b8c2SApple OSS Distributions {
314*19c3b8c2SApple OSS Distributions return NXConvertSwappedFloatToHost((NXSwappedFloat)OSSwapLittleToHostInt32((uint32_t)x));
315*19c3b8c2SApple OSS Distributions }
316*19c3b8c2SApple OSS Distributions
317*19c3b8c2SApple OSS Distributions static __inline__
318*19c3b8c2SApple OSS Distributions unsigned short
NXSwapHostShortToLittle(unsigned short x)319*19c3b8c2SApple OSS Distributions NXSwapHostShortToLittle(
320*19c3b8c2SApple OSS Distributions unsigned short x
321*19c3b8c2SApple OSS Distributions )
322*19c3b8c2SApple OSS Distributions {
323*19c3b8c2SApple OSS Distributions return (unsigned short)OSSwapHostToLittleInt16((uint16_t)x);
324*19c3b8c2SApple OSS Distributions }
325*19c3b8c2SApple OSS Distributions
326*19c3b8c2SApple OSS Distributions static __inline__
327*19c3b8c2SApple OSS Distributions unsigned int
NXSwapHostIntToLittle(unsigned int x)328*19c3b8c2SApple OSS Distributions NXSwapHostIntToLittle(
329*19c3b8c2SApple OSS Distributions unsigned int x
330*19c3b8c2SApple OSS Distributions )
331*19c3b8c2SApple OSS Distributions {
332*19c3b8c2SApple OSS Distributions return (unsigned int)OSSwapHostToLittleInt32((uint32_t)x);
333*19c3b8c2SApple OSS Distributions }
334*19c3b8c2SApple OSS Distributions
335*19c3b8c2SApple OSS Distributions static __inline__
336*19c3b8c2SApple OSS Distributions unsigned long
NXSwapHostLongToLittle(unsigned long x)337*19c3b8c2SApple OSS Distributions NXSwapHostLongToLittle(
338*19c3b8c2SApple OSS Distributions unsigned long x
339*19c3b8c2SApple OSS Distributions )
340*19c3b8c2SApple OSS Distributions {
341*19c3b8c2SApple OSS Distributions return (unsigned long)OSSwapHostToLittleInt32((uint32_t)x);
342*19c3b8c2SApple OSS Distributions }
343*19c3b8c2SApple OSS Distributions
344*19c3b8c2SApple OSS Distributions static __inline__
345*19c3b8c2SApple OSS Distributions unsigned long long
NXSwapHostLongLongToLittle(unsigned long long x)346*19c3b8c2SApple OSS Distributions NXSwapHostLongLongToLittle(
347*19c3b8c2SApple OSS Distributions unsigned long long x
348*19c3b8c2SApple OSS Distributions )
349*19c3b8c2SApple OSS Distributions {
350*19c3b8c2SApple OSS Distributions return (unsigned long long)OSSwapHostToLittleInt64((uint64_t)x);
351*19c3b8c2SApple OSS Distributions }
352*19c3b8c2SApple OSS Distributions
353*19c3b8c2SApple OSS Distributions static __inline__
354*19c3b8c2SApple OSS Distributions NXSwappedDouble
NXSwapHostDoubleToLittle(double x)355*19c3b8c2SApple OSS Distributions NXSwapHostDoubleToLittle(
356*19c3b8c2SApple OSS Distributions double x
357*19c3b8c2SApple OSS Distributions )
358*19c3b8c2SApple OSS Distributions {
359*19c3b8c2SApple OSS Distributions return (NXSwappedDouble)OSSwapHostToLittleInt64((uint64_t)NXConvertHostDoubleToSwapped(x));
360*19c3b8c2SApple OSS Distributions }
361*19c3b8c2SApple OSS Distributions
362*19c3b8c2SApple OSS Distributions static __inline__
363*19c3b8c2SApple OSS Distributions NXSwappedFloat
NXSwapHostFloatToLittle(float x)364*19c3b8c2SApple OSS Distributions NXSwapHostFloatToLittle(
365*19c3b8c2SApple OSS Distributions float x
366*19c3b8c2SApple OSS Distributions )
367*19c3b8c2SApple OSS Distributions {
368*19c3b8c2SApple OSS Distributions return (NXSwappedFloat)OSSwapHostToLittleInt32((uint32_t)NXConvertHostFloatToSwapped(x));
369*19c3b8c2SApple OSS Distributions }
370*19c3b8c2SApple OSS Distributions
371*19c3b8c2SApple OSS Distributions #endif /* _ARCHITECTURE_BYTE_ORDER_H_ */
372