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