munge_enum(3)

munge_enum3

Munge enumeration functions

Usage

#include <munge.h>

int munge_enum_is_valid (munge_enum_t type, int val);

const char * munge_enum_int_to_str (munge_enum_t type, int val);

int munge_enum_str_to_int (munge_enum_t type, const char *str);

cc `pkg-config --cflags --libs munge` -o foo foo.c

Overview

The munge_enum_is_valid() function checks if the given value val is a valid MUNGE enumeration of the specified type type in the software configuration as currently compiled. Some enumerations correspond to options that can only be enabled at compile-time.

The munge_enum_int_to_str() function converts the MUNGE enumeration val of the specified type type into a text string.

The munge_enum_str_to_int() function converts the null-terminated case-insensitive string str into the corresponding MUNGE enumeration of the specified type type.

Return value

The munge_enum_is_valid() function returns non-zero if the given value val is a valid enumeration.

The munge_enum_int_to_str() function returns a null-terminated constant text string, or NULL on error; this string should not be freed or modified by the caller.

The munge_enum_str_to_int() function returns a MUNGE enumeration on success (i.e., >= 0), or -1 on error.

Enum types

The following enumeration types can be specified.

MUNGE_ENUM_CIPHER

Specify enumerations for the available cipher types.

MUNGE_ENUM_MAC

Specify enumerations for the available MAC types.

MUNGE_ENUM_ZIP

Specify enumerations for the available compression types.

Errors

Refer to munge(3) for a complete list of errors.

Examples

The following example program illustrates how a list of available cipher types can be queried.

#include <stdio.h>
#include <stdlib.h>
#include <munge.h>

int
main (int argc, char *argv[])
{
    int i;
    const char *p;
    munge_enum_t t = MUNGE_ENUM_CIPHER;

    for (i = 0; (p = munge_enum_int_to_str (t, i)) != NULL; i++) {
        if (munge_enum_is_valid (t, i)) {
            printf ("%2d = %s\n", i, p);
        }
    }
    exit (EXIT_SUCCESS);
}

Releases

10 releases since Debian 5.0 (Lenny); the text changed 9 times.

  1. 5.0
  2. 6.0
  3. 7
  4. 8
  5. 9
  6. 10
  7. 11
  8. 12
  9. 13
  10. Arch

Author

Chris Dunlap <[email protected]>

From munge 0.5.18-2 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.