1fcb502e3ec032497bba7f8634fb214e0c05394d8Calin Juravle/*	$NetBSD: ns_netint.c,v 1.7 2012/03/13 21:13:39 christos Exp $	*/
21dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project
31dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/*
41dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC")
51dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * Copyright (c) 1996,1999 by Internet Software Consortium.
61dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project *
71dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * Permission to use, copy, modify, and distribute this software for any
81dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * purpose with or without fee is hereby granted, provided that the above
91dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * copyright notice and this permission notice appear in all copies.
101dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project *
111dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES
121dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
131dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * MERCHANTABILITY AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR
141dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
151dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
161dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
171dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
181dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project */
191dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project
201dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <sys/cdefs.h>
211dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#ifndef lint
221dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#ifdef notdef
23fcb502e3ec032497bba7f8634fb214e0c05394d8Calin Juravlestatic const char rcsid[] = "Id: ns_netint.c,v 1.3 2005/04/27 04:56:40 sra Exp";
241dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#else
25fcb502e3ec032497bba7f8634fb214e0c05394d8Calin Juravle__RCSID("$NetBSD: ns_netint.c,v 1.7 2012/03/13 21:13:39 christos Exp $");
261dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#endif
271dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#endif
281dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project
291dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/* Import. */
301dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project
31569fb9887d00104509df79fa77d92e3cf9afe7dbCalin Juravle#include <arpa/nameser.h>
321dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project
331dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/* Public. */
341dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project
35fcb502e3ec032497bba7f8634fb214e0c05394d8Calin Juravleuint16_t
361dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectns_get16(const u_char *src) {
37fcb502e3ec032497bba7f8634fb214e0c05394d8Calin Juravle	uint16_t dst;
381dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project
391dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project	NS_GET16(dst, src);
40fcb502e3ec032497bba7f8634fb214e0c05394d8Calin Juravle	return dst;
411dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project}
421dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project
43fcb502e3ec032497bba7f8634fb214e0c05394d8Calin Juravleuint32_t
441dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectns_get32(const u_char *src) {
45fcb502e3ec032497bba7f8634fb214e0c05394d8Calin Juravle	u_int32_t dst;
461dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project
471dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project	NS_GET32(dst, src);
48fcb502e3ec032497bba7f8634fb214e0c05394d8Calin Juravle	return dst;
491dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project}
501dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project
511dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectvoid
52fcb502e3ec032497bba7f8634fb214e0c05394d8Calin Juravlens_put16(uint16_t src, u_char *dst) {
531dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project	NS_PUT16(src, dst);
541dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project}
551dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project
561dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectvoid
57fcb502e3ec032497bba7f8634fb214e0c05394d8Calin Juravlens_put32(uint32_t src, u_char *dst) {
581dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project	NS_PUT32(src, dst);
591dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project}
60