mirror of
git://git.psyc.eu/libpsyc
synced 2024-08-15 03:19:02 +00:00
38 lines
780 B
C
38 lines
780 B
C
|
#ifndef PSYC_VARIABLE_H
|
||
|
|
||
|
/**
|
||
|
* @file psyc/variable.h
|
||
|
*/
|
||
|
|
||
|
/// Routing variables in alphabetical order.
|
||
|
extern const psycString psyc_routing_vars[];
|
||
|
|
||
|
// Variable types in alphabetical order.
|
||
|
extern const psycMatchVar psyc_var_types[];
|
||
|
|
||
|
extern const size_t psyc_routing_vars_num;
|
||
|
extern const size_t psyc_var_types_num;
|
||
|
|
||
|
/**
|
||
|
* Is this a routing variable name?
|
||
|
*/
|
||
|
psycBool psyc_var_is_routing (const char *name, size_t len);
|
||
|
|
||
|
/**
|
||
|
* Get the type of variable name.
|
||
|
*/
|
||
|
psycType psyc_var_type (const char *name, size_t len);
|
||
|
|
||
|
/**
|
||
|
* Is this a list variable name?
|
||
|
*/
|
||
|
static inline
|
||
|
psycBool psyc_var_is_list (const char *name, size_t len)
|
||
|
{
|
||
|
return len < 5 || memcmp(name, "_list", 5) != 0 ||
|
||
|
(len > 5 && name[5] != '_') ? PSYC_FALSE : PSYC_TRUE;
|
||
|
}
|
||
|
|
||
|
#define PSYC_VARIABLE_H
|
||
|
#endif
|