1139815Simp/*- 27088Swollman * Copyright 1994, 1995 Massachusetts Institute of Technology 37088Swollman * 47088Swollman * Permission to use, copy, modify, and distribute this software and 57088Swollman * its documentation for any purpose and without fee is hereby 67088Swollman * granted, provided that both the above copyright notice and this 77088Swollman * permission notice appear in all copies, that both the above 87088Swollman * copyright notice and this permission notice appear in all 97088Swollman * supporting documentation, and that the name of M.I.T. not be used 107088Swollman * in advertising or publicity pertaining to distribution of the 117088Swollman * software without specific, written prior permission. M.I.T. makes 127088Swollman * no representations about the suitability of this software for any 137088Swollman * purpose. It is provided "as is" without express or implied 147088Swollman * warranty. 158876Srgrimes * 167088Swollman * THIS SOFTWARE IS PROVIDED BY M.I.T. ``AS IS''. M.I.T. DISCLAIMS 177088Swollman * ALL EXPRESS OR IMPLIED WARRANTIES WITH REGARD TO THIS SOFTWARE, 187088Swollman * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 197088Swollman * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT 207088Swollman * SHALL M.I.T. BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 217088Swollman * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 227088Swollman * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF 237088Swollman * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 247088Swollman * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 257088Swollman * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 267088Swollman * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 277088Swollman * SUCH DAMAGE. 287088Swollman */ 297088Swollman 30116189Sobrien#include <sys/cdefs.h> 31116189Sobrien__FBSDID("$FreeBSD: releng/10.2/sys/libkern/inet_ntoa.c 139815 2005-01-07 00:24:33Z imp $"); 32116189Sobrien 337088Swollman#include <sys/param.h> 347088Swollman#include <sys/systm.h> 357088Swollman 367088Swollman#include <netinet/in.h> 377088Swollman 387088Swollmanchar * 397088Swollmaninet_ntoa(struct in_addr ina) 407088Swollman{ 417088Swollman static char buf[4*sizeof "123"]; 427088Swollman unsigned char *ucp = (unsigned char *)&ina; 437088Swollman 447088Swollman sprintf(buf, "%d.%d.%d.%d", 457088Swollman ucp[0] & 0xff, 467088Swollman ucp[1] & 0xff, 477088Swollman ucp[2] & 0xff, 487088Swollman ucp[3] & 0xff); 497088Swollman return buf; 507088Swollman} 517088Swollman 5269134Salfredchar * 5369134Salfredinet_ntoa_r(struct in_addr ina, char *buf) 5469134Salfred{ 5569134Salfred unsigned char *ucp = (unsigned char *)&ina; 5669134Salfred 5769134Salfred sprintf(buf, "%d.%d.%d.%d", 5869134Salfred ucp[0] & 0xff, 5969134Salfred ucp[1] & 0xff, 6069134Salfred ucp[2] & 0xff, 6169134Salfred ucp[3] & 0xff); 6269134Salfred return buf; 6369134Salfred} 6469134Salfred 6569134Salfred 66