24 lines · cpp
1//===-- Implementation of ntohl function ----------------------------------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9#include "src/arpa/inet/ntohl.h"10#include "src/__support/common.h"11#include "src/__support/endian_internal.h"12#include "src/__support/macros/config.h"13 14namespace LIBC_NAMESPACE_DECL {15 16LLVM_LIBC_FUNCTION(uint32_t, ntohl, (uint32_t netlong)) {17 if constexpr (Endian::IS_LITTLE)18 return __builtin_bswap32(netlong);19 else20 return netlong;21}22 23} // namespace LIBC_NAMESPACE_DECL24