]>
git.proxmox.com Git - mirror_edk2.git/blob - AppPkg/Applications/Sockets/GetHostByName/GetHostByName.c
2 Translate the host name into an IP address
4 Copyright (c) 2011, Intel Corporation
5 All rights reserved. This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
21 #include <Library/DebugLib.h>
22 #include <Library/UefiLib.h>
24 #include <sys/socket.h>
30 Translate the host name into an IP address
32 @param [in] Argc The number of arguments
33 @param [in] Argv The argument value array
35 @retval 0 The application exited normally.
36 @retval Other An error occurred.
46 struct hostent
* pHost
;
55 // Determine if the host name is specified
59 Print ( L
"%a <host name>\r\n", Argv
[0]);
63 // Translate the host name
65 pHost
= gethostbyname ( Argv
[1]);
66 if ( NULL
== pHost
) {
67 Print ( L
"ERROR - host not found, h_errno: %d\r\n", h_errno
);
70 pIpAddress
= (UINT8
*)pHost
->h_addr
;
71 Print ( L
"%d.%d.%d.%d, Type %d, %a\r\n",
80 // Display the other addresses
82 for ( Index
= 1; NULL
!= pHost
->h_addr_list
[Index
]; Index
++ ) {
83 pIpAddress
= (UINT8
*)pHost
->h_addr_list
[Index
];
84 Print ( L
"%d.%d.%d.%d\r\n",
92 // Display the list of aliases
94 ppName
= pHost
->h_aliases
;
95 if (( NULL
== ppName
) || ( NULL
== *ppName
)) {
96 Print ( L
"No aliases\r\n" );
99 Print ( L
"Aliases: " );
100 while ( NULL
!= *ppName
) {
104 Print ( L
"%a", *ppName
);
107 // Set the next alias
110 if ( NULL
!= *ppName
) {