---
name: "gnutls_fips140_set_mode"
section: "3"
platform: "linux"
package: "gnutls"
version: "3.8.13-3"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/gnutls_fips140_set_mode"
---

# gnutls\_fips140\_set\_mode(3)

API function

## NAME

gnutls\_fips140\_set\_mode - API function

## SYNOPSIS

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

**void gnutls\_fips140\_set\_mode(gnutls\_fips\_mode\_t** *mode***, unsigned** *flags***);**

## ARGUMENTS

- gnutls\_fips\_mode\_t mode

  the FIPS140-2 mode to switch to

- unsigned flags

  should be zero or **GNUTLS\_FIPS140\_SET\_MODE\_THREAD**

## DESCRIPTION

That function is not thread-safe when changing the mode with no flags (globally), and should be called prior to creating any threads. Its behavior with no flags after threads are created is undefined.

When the flag **GNUTLS\_FIPS140\_SET\_MODE\_THREAD** is specified then this call will change the FIPS140-2 mode for this particular thread and not for the whole process. That way an application can utilize this function to set and reset mode for specific operations.

This function never fails but will be a no-op if used when the library is not in FIPS140-2 mode. When asked to switch to unknown values for  *mode* or to **GNUTLS\_FIPS140\_SELFTESTS** mode, the library switches to **GNUTLS\_FIPS140\_STRICT** mode.

## SINCE

3\.6.2

## REPORTING BUGS

Report bugs to \<bugs@gnutls.org\>.\
 Home page: https://www.gnutls.org

## COPYRIGHT

Copyright © 2001-2023 Free Software Foundation, Inc., and others.\
 Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved.

## SEE ALSO

The full documentation for **gnutls** is maintained as a Texinfo manual. If the /usr/share/doc/gnutls/ directory does not contain the HTML form visit

- https://www.gnutls.org/manual/
