aboutsummaryrefslogtreecommitdiffstats
path: root/libgamma_value_of_connector_type.c
blob: 249422e358fc3fe4cd248473ef0bc333a09e760c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/* See LICENSE file for copyright and license details. */
#include "common.h"


/**
 * Get the value of a connector type
 * 
 * @param   connector  The name of the connector type, for example
 *                     "VGA" or "LIBGAMMA_CONNECTOR_TYPE_VGA"
 * @return             The connector type; for example `LIBGAMMA_CONNECTOR_TYPE_VGA`
 *                     for "VGA" and "LIBGAMMA_CONNECTOR_TYPE_VGA";
 *                     `LIBGAMMA_CONNECTOR_TYPE_NOT_RECOGNISED` of not defined
 */
int
libgamma_value_of_connector_type(const char *connector)
{
#define X(CONST, NAME, ...)\
	if (!strcmp(connector, NAME))\
		return CONST;
	LIST_CONNECTOR_TYPES(X)
#undef X

#define X(CONST, ...)\
	if (!strcmp(connector, #CONST))\
		return CONST;
	LIST_CONNECTOR_TYPES(X)
#undef X

	return LIBGAMMA_CONNECTOR_TYPE_NOT_RECOGNISED;
}