---
name: "getutmp"
section: "3"
platform: "linux"
package: "man-pages"
version: "6.19-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/getutmp"
---

# getutmp(3)

copy utmp structure to utmpx, and vice versa

## NAME

getutmp, getutmpx - copy utmp structure to utmpx, and vice versa

## LIBRARY

Standard C library (*libc*, *-lc*)

## SYNOPSIS

```
#define _GNU_SOURCE             /* See feature_test_macros(7) */
#include <utmpx.h>
```

**void getutmp(const struct utmpx \****ux***, struct utmp \****u***);** **void getutmpx(const struct utmp \****u***, struct utmpx \****ux***);**

## DESCRIPTION

The **getutmp**() function copies the fields of the *utmpx* structure pointed to by *ux* to the corresponding fields of the *utmp* structure pointed to by *u*. The **getutmpx**() function performs the converse operation.

## RETURN VALUE

These functions do not return a value.

## ATTRIBUTES

For an explanation of the terms used in this section, see [**attributes**(7)](/attributes/7.md).

| | | |
| --- | --- | --- |
| **Interface** | **Attribute** | **Value** |
| **getutmp**(), **getutmpx**() | Thread safety | MT-Safe |

## STANDARDS

None.

## HISTORY

glibc 2.1.1. Solaris, NetBSD.

## NOTES

These functions exist primarily for compatibility with other systems where the *utmp* and *utmpx* structures contain different fields, or the size of corresponding fields differs. On Linux, the two structures contain the same fields, and the fields have the same sizes.

## SEE ALSO

[**utmpdump**(1)](/utmpdump/1.md), [**getutent**(3)](/getutent/3.md), [**utmp**(5)](/utmp/5.md)
