---
name: "gss_display_status"
section: "3"
platform: "linux"
package: "gss-man"
version: "1.0.4-4"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/gss_display_status"
---

# gss\_display\_status(3)

API function

## NAME

gss\_display\_status - API function

## SYNOPSIS

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

**OM\_uint32 gss\_display\_status(OM\_uint32 \*** *minor\_status***, OM\_uint32** *status\_value***, int** *status\_type***, const gss\_OID** *mech\_type***, OM\_uint32 \*** *message\_context***, gss\_buffer\_t** *status\_string***);**

## ARGUMENTS

- OM\_uint32 \* minor\_status

  (integer, modify) Mechanism specific status code.

- OM\_uint32 status\_value

  (Integer, read) Status value to be converted.

- int status\_type

  (Integer, read) GSS\_C\_GSS\_CODE - status\_value is a\
     GSS status code. GSS\_C\_MECH\_CODE - status\_value is a mechanism\
     status code.

- const gss\_OID mech\_type

  (Object ID, read, optional) Underlying mechanism (used\
     to interpret a minor status value). Supply GSS\_C\_NO\_OID to obtain\
     the system default.

- OM\_uint32 \* message\_context

  (Integer, read/modify) Should be initialized to\
     zero by the application prior to the first call.  On return from\
     **gss\_display\_status()**, a non-zero status\_value parameter indicates\
     that additional messages may be extracted from the status code\
     via subsequent calls to **gss\_display\_status()**, passing the same\
     status\_value, status\_type, mech\_type, and message\_context\
     parameters.

- gss\_buffer\_t status\_string

  (buffer, character string, modify) Textual\
     interpretation of the status\_value.  Storage associated with this\
     parameter must be freed by the application after use with a call\
     to **gss\_release\_buffer()**.

## DESCRIPTION

Allows an application to obtain a textual representation of a GSS-API status code, for display to the user or for logging purposes.  Since some status values may indicate multiple conditions, applications may need to call gss\_display\_status multiple times, each call generating a single text string.  The message\_context parameter is used by gss\_display\_status to store state information about which error messages have already been extracted from a given status\_value; message\_context must be initialized to 0 by the application prior to the first call, and gss\_display\_status will return a non-zero value in this parameter if there are further messages to extract.

The message\_context parameter contains all state information required by gss\_display\_status in order to extract further messages from the status\_value; even when a non-zero value is returned in this parameter, the application is not required to call gss\_display\_status again unless subsequent messages are desired. The following code extracts all messages from a given status code and prints them to stderr:

\--------------------------------------------------- OM\_uint32 message\_context; OM\_uint32 status\_code; OM\_uint32 maj\_status; OM\_uint32 min\_status; gss\_buffer\_desc status\_string;

       ...

message\_context = 0;

do {\
   maj\_status = gss\_display\_status (\
                   &min\_status,\
                   status\_code,\
                   GSS\_C\_GSS\_CODE,\
                   GSS\_C\_NO\_OID,\
                   &message\_context,\
                   &status\_string)

  fprintf(stderr,\
           "%.\*s0,\
          (int)status\_string.length,

         (char \*)status\_string.value);

  gss\_release\_buffer(&min\_status, &status\_string);

} while (message\_context != 0); ---------------------------------------------------

## RETURN VALUE

\`GSS\_S\_COMPLETE\`: Successful completion.

\`GSS\_S\_BAD\_MECH\`: Indicates that translation in accordance with an unsupported mechanism type was requested.

\`GSS\_S\_BAD\_STATUS\`: The status value was not recognized, or the status type was neither GSS\_C\_GSS\_CODE nor GSS\_C\_MECH\_CODE.

## REPORTING BUGS

Report bugs to \<bug-gss@gnu.org\>. GNU Generic Security Service home page: http://www.gnu.org/software/gss/ General help using GNU software: http://www.gnu.org/gethelp/

## COPYRIGHT

Copyright © 2003-2022 Simon Josefsson.\
 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 **gss** is maintained as a Texinfo manual.  If the **info** and **gss** programs are properly installed at your site, the command

-

  **info gss**

should give you access to the complete manual.
