---
name: "login"
section: "3"
platform: "macos"
package: "Libc"
version: "1752.120.2"
release: "macOS 26.5"
platforms: ["linux", "macos"]
url: "https://new.carta.tech/login/3"
---

# login(3)

login utility functions (DEPRECATED)

## NAME

**login**, **logout**, **logwtmp** – login utility functions (DEPRECATED)

## SYNOPSIS

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

*void*\

**login**(*struct utmp \*ut*);

*int*\

**logout**(*const char \*line*);

*void*\

**logwtmp**(*const char \*line*, *const char \*name*, *const char \*host*);

## DESCRIPTION

The **login**(), **logout**(), and **logwtmp**() functions are **DEPRECATED**; use [pututxline(3)](/pututxline/3.md) instead.

These functions operate on the database of current users in */var/run/utmpx* and the system log file. Superuser permission is required.

The **login**() function updates the */var/run/utmpx* files with user information contained in *ut* (after converting to a struct utmpx, as described in [pututxline(3)](/pututxline/3.md)).

The **logout**() function removes the entry from */var/run/utmpx* corresponding to the device *line*.

The **logwtmp**() function adds an entry to the system log file. Since **login**() will add the appropriate entry during a login, **logwtmp**() is usually used for logouts.

## RETURN VALUES

**logout**() returns non-zero if it was able to find and delete an entry for *line*, and zero if there is no entry for *line* in */var/run/utmpx*. However, there is no error indication due to lack of permissions.

## FILES

- */dev/∗*

  - */var/run/utmpx*

  ## SEE ALSO

[pututxline(3)](/pututxline/3.md), [utmp(5)](/utmp/5.md), [utmpx(5)](/utmpx/5.md)
