xref: /xnu-11215.61.5/EXTERNAL_HEADERS/architecture/byte_order.h (revision 4f1223e81cd707a65cc109d0b8ad6653699da3c4)
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