1 /* 2 * Copyright (c) 1999, 2000 3 * Intel Corporation. 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without modification, 7 * are permitted provided that the following conditions are met: 8 * 9 * 1. Redistributions of source code must retain the above copyright notice, 10 * this list of conditions and the following disclaimer. 11 * 12 * 2. Redistributions in binary form must reproduce the above copyright notice, 13 * this list of conditions and the following disclaimer in the documentation 14 * and/or other materials provided with the distribution. 15 * 16 * 3. All advertising materials mentioning features or use of this software must 17 * display the following acknowledgement: 18 * 19 * This product includes software developed by Intel Corporation and its 20 * contributors. 21 * 22 * 4. Neither the name of Intel Corporation or its contributors may be used to 23 * endorse or promote products derived from this software without specific 24 * prior written permission. 25 * 26 * THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION AND CONTRIBUTORS ``AS IS'' AND 27 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 28 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 29 * DISCLAIMED. IN NO EVENT SHALL INTEL CORPORATION OR CONTRIBUTORS BE LIABLE FOR 30 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 31 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 32 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 33 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 34 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 35 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 36 * 37 */ 38 39 #include <stdlib.h> 40 #include <string.h> 41 #include <unistd.h> 42 43 /*++ 44 45 Module Name: 46 47 gethostname.c 48 49 Abstract: 50 51 Map FreeBSD gethostname call to EFI Interface 52 53 54 Revision History 55 56 --*/ 57 58 int 59 gethostname( 60 char *name, 61 size_t namelen 62 ) 63 /*++ 64 65 Routine Description: 66 67 Get the hostname for this system. 68 69 Arguments: 70 71 name - Pointer to storage for hostname. 72 namelen - Length of name 73 74 Returns: 75 76 0 on success, -1 if not set 77 78 --*/ 79 { 80 char *pHost; 81 82 pHost = getenv ("HOSTNAME"); 83 84 if ( pHost == NULL ) { 85 *name = 0; 86 } else { 87 strncpy (name, pHost, namelen); 88 name[namelen-1] = 0; 89 } 90 91 return (0); 92 } 93