blob: f42e1e598690c3fe9b1a1bd379221e730ef54092 (
plain) (
tree)
|
|
/* 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"
* @param out Output parameter for the connector type, only set on success;
* for example `LIBGAMMA_CONNECTOR_TYPE_VGA` for "VGA" and
* "LIBGAMMA_CONNECTOR_TYPE_VGA";
* @return Zero on success, `LIBGAMMA_CONNECTOR_TYPE_NOT_RECOGNISED` of not defined
*/
int
libgamma_value_of_connector_type(const char *connector, enum libgamma_connector_type *out)
{
#define X(CONST, NAME, ...)\
if (!strcmp(connector, NAME))\
goto case_##CONST;
LIST_CONNECTOR_TYPES(X)
#undef X
#define X(CONST, ...)\
if (!strcmp(connector, #CONST)) {\
case_##CONST:\
*out = CONST;\
return 0;\
}
LIST_CONNECTOR_TYPES(X)
#undef X
return LIBGAMMA_CONNECTOR_TYPE_NOT_RECOGNISED;
}
|