---
name: "auth_destroy"
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/auth_destroy"
---

# auth\_destroy(3)

library routines for client side remote procedure call authentication

## NAME

**auth\_destroy**, **authnone\_create**, **authsys\_create**, **authsys\_create\_default** – library routines for client side remote procedure call authentication

## LIBRARY

Standard C Library (libc, -lc)

## SYNOPSIS

**#include \<rpc/rpc.h\>**

*void*\

**auth\_destroy**(*AUTH \*auth*);

*AUTH \**\

**authnone\_create**(*void*);

*AUTH \**\

**authsys\_create**(*const char \*host*, *const uid\_t uid*, *const gid\_t gid*, *const int len*, *const gid\_t \*aup\_gids*);

*AUTH \**\

**authsys\_create\_default**(*void*);

## DESCRIPTION

These routines are part of the RPC library that allows C language programs to make procedure calls on other machines across the network, with desired authentication.

These routines are normally called after creating the *CLIENT* handle. The *cl\_auth* field of the *CLIENT* structure should be initialized by the *AUTH* structure returned by some of the following routines. The client's authentication information is passed to the server when the RPC call is made.

Only the NULL and the SYS style of authentication is discussed here.

## Routines

- **auth\_destroy**()

  A function macro that destroys the authentication information associated with *auth*. Destruction usually involves deallocation of private data structures. The use of *auth* is undefined after calling **auth\_destroy**().

- **authnone\_create**()

  Create and return an RPC authentication handle that passes nonusable authentication information with each remote procedure call. This is the default authentication used by RPC.

- **authsys\_create**()

  Create and return an RPC authentication handle that contains AUTH\_SYS authentication information. The *host* argument is the name of the machine on which the information was created; *uid* is the user's user ID; *gid* is the user's current group ID; *len* and *aup\_gids* refer to a counted array of groups to which the user belongs.

- **authsys\_create\_default**()

  Call **authsys\_create**() with the appropriate arguments.

## SEE ALSO

[rpc(3)](/rpc/3.md), [rpc\_clnt\_calls(3)](/rpc_clnt_calls/3.md), [rpc\_clnt\_create(3)](/rpc_clnt_create/3.md)
