byteorder.c revision 4b56a00321e0ce508e55cc5e43e3ad7b00005a39
/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright 2008 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
/*
* htonll(), ntohll(), htonl(), ntohl(), htons(), ntohs()
*
* On little endian machines these functions reverse the byte order of the
* input parameter and returns the result. This is to convert the byte order
* from host byte order (little endian) to network byte order (big endian),
* or vice versa.
*
* On big endian machines these functions just return the input parameter,
* as the host byte order is the same as the network byte order (big endian).
*/
#ifdef _LITTLE_ENDIAN
{
}
{
}
{
uint32_t i;
return (i);
}
{
}
{
uint16_t i;
return ((uint16_t)i);
}
{
}
#else /* _LITTLE_ENDIAN */
#if defined(lint)
{
return (in);
}
{
return (in);
}
{
return (in);
}
{
return (in);
}
{
return (in);
}
{
return (in);
}
#endif /* lint */
#endif /* _LITTLE_ENDIAN */