18ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project/* 28ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project * eui64.c - EUI64 routines for IPv6CP. 38ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project * 48ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project * Copyright (c) 1999 Tommi Komulainen. All rights reserved. 58ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project * 68ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project * Redistribution and use in source and binary forms, with or without 78ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project * modification, are permitted provided that the following conditions 88ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project * are met: 98ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project * 108ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project * 1. Redistributions of source code must retain the above copyright 118ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project * notice, this list of conditions and the following disclaimer. 128ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project * 138ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project * 2. Redistributions in binary form must reproduce the above copyright 148ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project * notice, this list of conditions and the following disclaimer in 158ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project * the documentation and/or other materials provided with the 168ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project * distribution. 178ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project * 188ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project * 3. The name(s) of the authors of this software must not be used to 198ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project * endorse or promote products derived from this software without 208ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project * prior written permission. 218ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project * 228ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project * 4. Redistributions of any form whatsoever must retain the following 238ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project * acknowledgment: 248ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project * "This product includes software developed by Tommi Komulainen 258ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project * <Tommi.Komulainen@iki.fi>". 268ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project * 278ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project * THE AUTHORS OF THIS SOFTWARE DISCLAIM ALL WARRANTIES WITH REGARD TO 288ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 298ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project * AND FITNESS, IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY 308ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 318ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN 328ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING 338ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 348ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project * 358ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project * $Id: eui64.c,v 1.6 2002/12/04 23:03:32 paulus Exp $ 368ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project */ 378ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project 388ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project#define RCSID "$Id: eui64.c,v 1.6 2002/12/04 23:03:32 paulus Exp $" 398ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project 408ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project#include "pppd.h" 418ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project 428ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Projectstatic const char rcsid[] = RCSID; 438ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project 448ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project/* 458ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project * eui64_ntoa - Make an ascii representation of an interface identifier 468ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project */ 478ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Projectchar * 488ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Projecteui64_ntoa(e) 498ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project eui64_t e; 508ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project{ 518ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project static char buf[32]; 528ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project 538ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project snprintf(buf, 32, "%02x%02x:%02x%02x:%02x%02x:%02x%02x", 548ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project e.e8[0], e.e8[1], e.e8[2], e.e8[3], 558ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project e.e8[4], e.e8[5], e.e8[6], e.e8[7]); 568ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project return buf; 578ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project} 58