Blame shared/nm-glib-aux/nm-enum-utils.h

Packit Service b23acc
// SPDX-License-Identifier: LGPL-2.1+
Packit Service b23acc
/*
Packit Service b23acc
 * Copyright (C) 2017 Red Hat, Inc.
Packit Service b23acc
 */
Packit Service b23acc
Packit Service b23acc
#ifndef __NM_ENUM_UTILS_H__
Packit Service b23acc
#define __NM_ENUM_UTILS_H__
Packit Service b23acc
Packit Service b23acc
/*****************************************************************************/
Packit Service b23acc
Packit Service b23acc
typedef struct _NMUtilsEnumValueInfo {
Packit Service b23acc
	/* currently, this is only used for _nm_utils_enum_from_str_full() to
Packit Service b23acc
	 * declare additional aliases for values. */
Packit Service b23acc
	const char *nick;
Packit Service b23acc
	int value;
Packit Service b23acc
} NMUtilsEnumValueInfo;
Packit Service b23acc
Packit Service b23acc
char *_nm_utils_enum_to_str_full (GType type,
Packit Service b23acc
                                  int value,
Packit Service b23acc
                                  const char *sep,
Packit Service b23acc
                                  const NMUtilsEnumValueInfo *value_infos);
Packit Service b23acc
gboolean _nm_utils_enum_from_str_full (GType type,
Packit Service b23acc
                                       const char *str,
Packit Service b23acc
                                       int *out_value,
Packit Service b23acc
                                       char **err_token,
Packit Service b23acc
                                       const NMUtilsEnumValueInfo *value_infos);
Packit Service b23acc
Packit Service b23acc
const char **_nm_utils_enum_get_values (GType type, int from, int to);
Packit Service b23acc
Packit Service b23acc
/*****************************************************************************/
Packit Service b23acc
Packit Service b23acc
#endif /* __NM_ENUM_UTILS_H__ */