Use gcc attribute ifunc in libc_ifunc macro instead of inline assembly due to false...
[glibc.git] / resolv / ns_netint.c
blob6a365a3b8c37e21ac6b419c9bef6ddbaaad74b39
1 /*
2 * Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC")
3 * Copyright (c) 1996,1999 by Internet Software Consortium.
5 * Permission to use, copy, modify, and distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
9 * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES
10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR
12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
15 * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
18 /* Import. */
20 #include <arpa/nameser.h>
21 #include <resolv.h>
23 /* Public. */
25 u_int
26 ns_get16(const u_char *src) {
27 u_int dst;
29 NS_GET16(dst, src);
30 return (dst);
32 libresolv_hidden_def (ns_get16)
33 strong_alias (ns_get16, __ns_get16)
35 u_long
36 ns_get32(const u_char *src) {
37 u_long dst;
39 NS_GET32(dst, src);
40 return (dst);
42 libresolv_hidden_def (ns_get32)
43 strong_alias (ns_get32, __ns_get32)
45 void
46 ns_put16(u_int src, u_char *dst) {
47 NS_PUT16(src, dst);
49 libresolv_hidden_def (ns_put16)
51 void
52 ns_put32(u_long src, u_char *dst) {
53 NS_PUT32(src, dst);
55 libresolv_hidden_def (ns_put32)
57 /*! \file */