endhostent - Linux


endhostent() terminates the scan through the host database maintained by the gethostent() function. It is an important function that releases system resources allocated during the traversal of hostname entries.


void endhostent(void);


There are no options available for endhostent().


To parse hostnames and terminate the scan properly:

#include <netdb.h>

int main() {
    struct hostent *hostinfo;

    while ((hostinfo = gethostent())) {
        // Process host information

    return 0;

Common Issues

  • Forgetting to call endhostent(): This can result in system resource leaks and unexpected behavior in subsequent calls to hostname-related functions.
  • Calling endhostent() multiple times: This has no adverse effects.


endhostent() is crucial for proper resource management when used in conjunction with hostname traversal functions like gethostent(). It is recommended to always call endhostent() after completing hostname processing.

Related Commands

  • gethostent(): Traverses and returns the next host entry from the system hostname database.
  • gethostbyname(): Retrieves host information for a given hostname.