Server IP : 103.169.32.36 / Your IP : 216.73.217.13 Web Server : Apache System : Linux web.dpmptsp 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 User : apache ( 48) PHP Version : 5.6.40 Disable Function : NONE MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/include/bits/ |
Upload File : |
| Current File : /usr/include/bits/byteswap.h |
/* Macros to swap the order of bytes in integer values.
Copyright (C) 1997-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
#if !defined _BYTESWAP_H && !defined _NETINET_IN_H && !defined _ENDIAN_H
# error "Never use <bits/byteswap.h> directly; include <byteswap.h> instead."
#endif
#ifndef _BITS_BYTESWAP_H
#define _BITS_BYTESWAP_H 1
#include <features.h>
#include <bits/types.h>
#include <bits/wordsize.h>
/* Swap bytes in 16 bit value. */
#define __bswap_constant_16(x) \
((unsigned short int) ((((x) >> 8) & 0xff) | (((x) & 0xff) << 8)))
/* Get __bswap_16. */
#include <bits/byteswap-16.h>
/* Swap bytes in 32 bit value. */
#define __bswap_constant_32(x) \
((((x) & 0xff000000) >> 24) | (((x) & 0x00ff0000) >> 8) | \
(((x) & 0x0000ff00) << 8) | (((x) & 0x000000ff) << 24))
#ifdef __GNUC__
# if __GNUC_PREREQ (4, 3)
static __inline unsigned int
__bswap_32 (unsigned int __bsx)
{
return __builtin_bswap32 (__bsx);
}
# elif __GNUC__ >= 2
# if __WORDSIZE == 64 || (defined __i486__ || defined __pentium__ \
|| defined __pentiumpro__ || defined __pentium4__ \
|| defined __k8__ || defined __athlon__ \
|| defined __k6__ || defined __nocona__ \
|| defined __core2__ || defined __geode__ \
|| defined __amdfam10__)
/* To swap the bytes in a word the i486 processors and up provide the
`bswap' opcode. On i386 we have to use three instructions. */
# define __bswap_32(x) \
(__extension__ \
({ unsigned int __v, __x = (x); \
if (__builtin_constant_p (__x)) \
__v = __bswap_constant_32 (__x); \
else \
__asm__ ("bswap %0" : "=r" (__v) : "0" (__x)); \
__v; }))
# else
# define __bswap_32(x) \
(__extension__ \
({ unsigned int __v, __x = (x); \
if (__builtin_constant_p (__x)) \
__v = __bswap_constant_32 (__x); \
else \
__asm__ ("rorw $8, %w0;" \
"rorl $16, %0;" \
"rorw $8, %w0" \
: "=r" (__v) \
: "0" (__x) \
: "cc"); \
__v; }))
# endif
# else
# define __bswap_32(x) \
(__extension__ \
({ unsigned int __x = (x); __bswap_constant_32 (__x); }))
# endif
#else
static __inline unsigned int
__bswap_32 (unsigned int __bsx)
{
return __bswap_constant_32 (__bsx);
}
#endif
#if __GNUC_PREREQ (2, 0)
/* Swap bytes in 64 bit value. */
# define __bswap_constant_64(x) \
(__extension__ ((((x) & 0xff00000000000000ull) >> 56) \
| (((x) & 0x00ff000000000000ull) >> 40) \
| (((x) & 0x0000ff0000000000ull) >> 24) \
| (((x) & 0x000000ff00000000ull) >> 8) \
| (((x) & 0x00000000ff000000ull) << 8) \
| (((x) & 0x0000000000ff0000ull) << 24) \
| (((x) & 0x000000000000ff00ull) << 40) \
| (((x) & 0x00000000000000ffull) << 56)))
# if __GNUC_PREREQ (4, 3)
static __inline __uint64_t
__bswap_64 (__uint64_t __bsx)
{
return __builtin_bswap64 (__bsx);
}
# elif __WORDSIZE == 64
# define __bswap_64(x) \
(__extension__ \
({ __uint64_t __v, __x = (x); \
if (__builtin_constant_p (__x)) \
__v = __bswap_constant_64 (__x); \
else \
__asm__ ("bswap %q0" : "=r" (__v) : "0" (__x)); \
__v; }))
# else
# define __bswap_64(x) \
(__extension__ \
({ union { __extension__ __uint64_t __ll; \
unsigned int __l[2]; } __w, __r; \
if (__builtin_constant_p (x)) \
__r.__ll = __bswap_constant_64 (x); \
else \
{ \
__w.__ll = (x); \
__r.__l[0] = __bswap_32 (__w.__l[1]); \
__r.__l[1] = __bswap_32 (__w.__l[0]); \
} \
__r.__ll; }))
# endif
#elif __GLIBC_HAVE_LONG_LONG
# define __bswap_constant_64(x) \
((((x) & 0xff00000000000000ull) >> 56) \
| (((x) & 0x00ff000000000000ull) >> 40) \
| (((x) & 0x0000ff0000000000ull) >> 24) \
| (((x) & 0x000000ff00000000ull) >> 8) \
| (((x) & 0x00000000ff000000ull) << 8) \
| (((x) & 0x0000000000ff0000ull) << 24) \
| (((x) & 0x000000000000ff00ull) << 40) \
| (((x) & 0x00000000000000ffull) << 56))
static __inline __uint64_t
__bswap_64 (__uint64_t __bsx)
{
return __bswap_constant_64 (__bsx);
}
#endif
#endif /* _BITS_BYTESWAP_H */
| N4m3 |
5!z3 |
L45t M0d!f!3d |
0wn3r / Gr0up |
P3Rm!55!0n5 |
0pt!0n5 |
| .. |
-- |
September 29 2025 07:00:20 |
0 / 0 |
0755 |
|
| | | | | |
| a.out.h |
0.262 KB |
June 04 2024 14:43:12 |
0 / 0 |
0644 |
|
| byteswap-16.h |
1.686 KB |
June 04 2024 14:43:10 |
0 / 0 |
0644 |
|
| byteswap.h |
5.556 KB |
June 04 2024 14:43:10 |
0 / 0 |
0644 |
|
| cmathcalls.h |
4.701 KB |
June 04 2024 14:43:07 |
0 / 0 |
0644 |
|
| confname.h |
23.194 KB |
June 04 2024 14:43:11 |
0 / 0 |
0644 |
|
| dirent.h |
1.688 KB |
June 04 2024 14:43:10 |
0 / 0 |
0644 |
|
| dlfcn.h |
2.467 KB |
June 04 2024 14:43:09 |
0 / 0 |
0644 |
|
| elfclass.h |
0.416 KB |
June 04 2024 14:43:49 |
0 / 0 |
0644 |
|
| endian.h |
0.172 KB |
June 04 2024 14:43:10 |
0 / 0 |
0644 |
|
| environments.h |
3.5 KB |
June 04 2024 14:43:11 |
0 / 0 |
0644 |
|
| epoll.h |
1.112 KB |
June 04 2024 14:43:12 |
0 / 0 |
0644 |
|
| errno.h |
2.112 KB |
June 04 2024 14:43:08 |
0 / 0 |
0644 |
|
| error.h |
2.621 KB |
June 04 2024 14:43:12 |
0 / 0 |
0644 |
|
| eventfd.h |
1.102 KB |
June 04 2024 14:43:12 |
0 / 0 |
0644 |
|
| fcntl-linux.h |
12.555 KB |
June 04 2024 14:43:11 |
0 / 0 |
0644 |
|
| fcntl.h |
2.192 KB |
June 04 2024 14:43:11 |
0 / 0 |
0644 |
|
| fcntl2.h |
5.444 KB |
June 04 2024 14:43:11 |
0 / 0 |
0644 |
|
| fenv.h |
3.938 KB |
June 04 2024 14:43:07 |
0 / 0 |
0644 |
|
| fenvinline.h |
0.186 KB |
June 04 2024 14:43:07 |
0 / 0 |
0644 |
|
| huge_val.h |
1.83 KB |
June 04 2024 14:43:07 |
0 / 0 |
0644 |
|
| huge_valf.h |
1.791 KB |
June 04 2024 14:43:07 |
0 / 0 |
0644 |
|
| huge_vall.h |
1.57 KB |
June 04 2024 14:43:07 |
0 / 0 |
0644 |
|
| hwcap.h |
0.943 KB |
June 04 2024 14:43:12 |
0 / 0 |
0644 |
|
| in.h |
9.007 KB |
June 04 2024 14:43:47 |
0 / 0 |
0644 |
|
| inf.h |
1.031 KB |
June 04 2024 14:43:07 |
0 / 0 |
0644 |
|
| initspin.h |
0.024 KB |
June 04 2024 14:43:11 |
0 / 0 |
0644 |
|
| inotify.h |
1.054 KB |
June 04 2024 14:43:12 |
0 / 0 |
0644 |
|
| ioctl-types.h |
2.41 KB |
June 04 2024 14:43:12 |
0 / 0 |
0644 |
|
| ioctls.h |
4.385 KB |
June 04 2024 14:43:12 |
0 / 0 |
0644 |
|
| ipc.h |
2.006 KB |
June 04 2024 14:43:12 |
0 / 0 |
0644 |
|
| ipctypes.h |
1.143 KB |
June 04 2024 14:43:12 |
0 / 0 |
0644 |
|
| libc-lock.h |
12.543 KB |
October 19 2011 11:04:41 |
0 / 0 |
0644 |
|
| libio-ldbl.h |
0.99 KB |
June 04 2024 14:43:09 |
0 / 0 |
0644 |
|
| link.h |
4.197 KB |
June 04 2024 14:43:49 |
0 / 0 |
0644 |
|
| local_lim.h |
3.129 KB |
June 04 2024 14:43:11 |
0 / 0 |
0644 |
|
| locale.h |
1.335 KB |
June 04 2024 14:43:01 |
0 / 0 |
0644 |
|
| math-finite.h |
14.24 KB |
June 04 2024 14:43:07 |
0 / 0 |
0644 |
|
| mathcalls.h |
11.303 KB |
June 04 2024 14:43:07 |
0 / 0 |
0644 |
|
| mathdef.h |
2.138 KB |
June 04 2024 14:43:07 |
0 / 0 |
0644 |
|
| mathinline.h |
30.86 KB |
June 04 2024 14:43:07 |
0 / 0 |
0644 |
|
| mman.h |
4.778 KB |
June 04 2024 14:43:12 |
0 / 0 |
0644 |
|
| monetary-ldbl.h |
1.017 KB |
June 04 2024 14:43:08 |
0 / 0 |
0644 |
|
| mqueue.h |
1.216 KB |
June 04 2024 14:43:45 |
0 / 0 |
0644 |
|
| mqueue2.h |
2.106 KB |
June 04 2024 14:43:45 |
0 / 0 |
0644 |
|
| msq.h |
2.47 KB |
June 04 2024 14:43:12 |
0 / 0 |
0644 |
|
| nan.h |
1.537 KB |
June 04 2024 14:43:07 |
0 / 0 |
0644 |
|
| netdb.h |
1.252 KB |
June 04 2024 14:43:44 |
0 / 0 |
0644 |
|
| param.h |
1.398 KB |
June 04 2024 14:43:12 |
0 / 0 |
0644 |
|
| poll.h |
2.039 KB |
June 04 2024 14:43:11 |
0 / 0 |
0644 |
|
| poll2.h |
2.862 KB |
June 04 2024 14:43:11 |
0 / 0 |
0644 |
|
| posix1_lim.h |
4.807 KB |
June 04 2024 14:43:11 |
0 / 0 |
0644 |
|
| posix2_lim.h |
2.817 KB |
June 04 2024 14:43:11 |
0 / 0 |
0644 |
|
| posix_opt.h |
5.648 KB |
June 04 2024 14:43:11 |
0 / 0 |
0644 |
|
| printf-ldbl.h |
0.963 KB |
June 04 2024 14:43:09 |
0 / 0 |
0644 |
|
| pthreadtypes.h |
6.328 KB |
June 04 2024 14:43:11 |
0 / 0 |
0644 |
|
| resource.h |
9.214 KB |
June 04 2024 14:43:12 |
0 / 0 |
0644 |
|
| sched.h |
7.366 KB |
June 04 2024 14:43:11 |
0 / 0 |
0644 |
|
| select.h |
2.075 KB |
June 04 2024 14:43:12 |
0 / 0 |
0644 |
|
| select2.h |
1.404 KB |
June 04 2024 14:43:12 |
0 / 0 |
0644 |
|
| sem.h |
2.526 KB |
June 04 2024 14:43:12 |
0 / 0 |
0644 |
|
| semaphore.h |
1.209 KB |
June 04 2024 14:43:44 |
0 / 0 |
0644 |
|
| setjmp.h |
1.257 KB |
June 04 2024 14:43:08 |
0 / 0 |
0644 |
|
| setjmp2.h |
1.665 KB |
June 04 2024 14:43:08 |
0 / 0 |
0644 |
|
| shm.h |
3.437 KB |
June 04 2024 14:43:12 |
0 / 0 |
0644 |
|
| sigaction.h |
2.785 KB |
June 04 2024 14:43:08 |
0 / 0 |
0644 |
|
| sigcontext.h |
4.076 KB |
June 04 2024 14:43:08 |
0 / 0 |
0644 |
|
| siginfo.h |
9.813 KB |
June 04 2024 14:43:08 |
0 / 0 |
0644 |
|
| signalfd.h |
1.041 KB |
June 04 2024 14:43:12 |
0 / 0 |
0644 |
|
| signum.h |
3.337 KB |
June 04 2024 14:43:08 |
0 / 0 |
0644 |
|
| sigset.h |
4.479 KB |
June 04 2024 14:43:08 |
0 / 0 |
0644 |
|
| sigstack.h |
1.492 KB |
June 04 2024 14:43:08 |
0 / 0 |
0644 |
|
| sigthread.h |
1.636 KB |
June 04 2024 14:43:08 |
0 / 0 |
0644 |
|
| sockaddr.h |
1.497 KB |
June 04 2024 14:43:12 |
0 / 0 |
0644 |
|
| socket.h |
12.603 KB |
June 04 2024 14:43:12 |
0 / 0 |
0644 |
|
| socket2.h |
2.954 KB |
June 04 2024 14:43:12 |
0 / 0 |
0644 |
|
| socket_type.h |
2.163 KB |
June 04 2024 14:43:12 |
0 / 0 |
0644 |
|
| stab.def |
8.822 KB |
June 04 2024 14:43:12 |
0 / 0 |
0644 |
|
| stat.h |
7.462 KB |
June 04 2024 14:43:11 |
0 / 0 |
0644 |
|
| statfs.h |
1.891 KB |
June 04 2024 14:43:11 |
0 / 0 |
0644 |
|
| statvfs.h |
3.342 KB |
June 04 2024 14:43:11 |
0 / 0 |
0644 |
|
| stdio-ldbl.h |
3.106 KB |
June 04 2024 14:43:09 |
0 / 0 |
0644 |
|
| stdio-lock.h |
2.136 KB |
June 04 2024 14:41:10 |
0 / 0 |
0644 |
|
| stdio.h |
5.451 KB |
June 04 2024 14:43:09 |
0 / 0 |
0644 |
|
| stdio2.h |
12.361 KB |
June 04 2024 14:43:09 |
0 / 0 |
0644 |
|
| stdio_lim.h |
1.341 KB |
June 04 2024 14:43:09 |
0 / 0 |
0644 |
|
| stdlib-float.h |
1.124 KB |
June 04 2024 14:43:08 |
0 / 0 |
0644 |
|
| stdlib-ldbl.h |
1.362 KB |
June 04 2024 14:43:08 |
0 / 0 |
0644 |
|
| stdlib.h |
5.532 KB |
June 04 2024 14:43:08 |
0 / 0 |
0644 |
|
| string.h |
56.479 KB |
June 04 2024 14:43:10 |
0 / 0 |
0644 |
|
| string2.h |
46.082 KB |
June 04 2024 14:43:10 |
0 / 0 |
0644 |
|
| string3.h |
4.385 KB |
June 04 2024 14:43:10 |
0 / 0 |
0644 |
|
| sys_errlist.h |
1.187 KB |
June 04 2024 14:43:09 |
0 / 0 |
0644 |
|
| syscall.h |
43.027 KB |
June 04 2024 14:43:12 |
0 / 0 |
0644 |
|
| sysctl.h |
0.872 KB |
June 04 2024 14:43:12 |
0 / 0 |
0644 |
|
| syslog-ldbl.h |
1.175 KB |
June 04 2024 14:43:12 |
0 / 0 |
0644 |
|
| syslog-path.h |
1.03 KB |
June 04 2024 14:43:12 |
0 / 0 |
0644 |
|
| syslog.h |
1.656 KB |
June 04 2024 14:43:12 |
0 / 0 |
0644 |
|
| termios.h |
5.227 KB |
June 04 2024 14:43:11 |
0 / 0 |
0644 |
|
| time.h |
3.346 KB |
June 04 2024 14:43:10 |
0 / 0 |
0644 |
|
| timerfd.h |
1.076 KB |
June 04 2024 14:43:12 |
0 / 0 |
0644 |
|
| timex.h |
4.364 KB |
June 04 2024 14:43:10 |
0 / 0 |
0644 |
|
| types.h |
7.548 KB |
June 04 2024 14:43:11 |
0 / 0 |
0644 |
|
| typesizes.h |
3.149 KB |
June 04 2024 14:43:11 |
0 / 0 |
0644 |
|
| uio.h |
2.422 KB |
June 04 2024 14:43:12 |
0 / 0 |
0644 |
|
| unistd.h |
13.07 KB |
June 04 2024 14:43:11 |
0 / 0 |
0644 |
|
| ustat.h |
1.064 KB |
June 04 2024 14:43:12 |
0 / 0 |
0644 |
|
| utmp.h |
3.874 KB |
June 04 2024 14:43:49 |
0 / 0 |
0644 |
|
| utmpx.h |
3.379 KB |
June 04 2024 14:43:49 |
0 / 0 |
0644 |
|
| utsname.h |
1.19 KB |
June 04 2024 14:43:11 |
0 / 0 |
0644 |
|
| waitflags.h |
1.609 KB |
June 04 2024 14:43:11 |
0 / 0 |
0644 |
|
| waitstatus.h |
3.488 KB |
June 04 2024 14:43:11 |
0 / 0 |
0644 |
|
| wchar-ldbl.h |
2.448 KB |
June 04 2024 14:43:10 |
0 / 0 |
0644 |
|
| wchar.h |
1.106 KB |
June 04 2024 14:43:10 |
0 / 0 |
0644 |
|
| wchar2.h |
20.043 KB |
June 04 2024 14:43:10 |
0 / 0 |
0644 |
|
| wordsize.h |
0.319 KB |
June 04 2024 14:43:08 |
0 / 0 |
0644 |
|
| xopen_lim.h |
3.682 KB |
June 04 2024 14:43:00 |
0 / 0 |
0644 |
|