---
name: "sethostid"
section: "3"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["linux", "freebsd"]
url: "https://new.carta.tech/gethostid/3"
---

# sethostid(3)

get/set unique identifier of current host

Part of [gethostid(3)](/gethostid/3.md).

## NAME

**gethostid**, **sethostid** – get/set unique identifier of current host

## LIBRARY

Standard C Library (libc, -lc)

## SYNOPSIS

**#include \<unistd.h\>**

*long*\

**gethostid**(*void*);

*void*\

**sethostid**(*long hostid*);

## DESCRIPTION

The **sethostid**() function establishes a 32-bit identifier for the current processor that is intended to be unique among all UNIX systems in existence. This is normally a DARPA Internet address for the local machine. This call is allowed only to the super-user and is normally performed at boot time.

The **gethostid**() function returns the 32-bit identifier for the current processor.

This function has been deprecated. The hostid should be set or retrieved by use of [sysctl(3)](/sysctl/3.md).

## SEE ALSO

[gethostname(3)](/gethostname/3.md), [sysctl(3)](/sysctl/3.md), [sysctl(8)](/sysctl/8.md)

## HISTORY

The **gethostid**() and **sethostid**() syscalls appeared in 4.2BSD and were dropped in 4.4BSD.

## BUGS

32 bits for the identifier is too small.
