S_FUNCTION
#define V_FUNCTION(x) ((x) << S_FUNCTION)
#define G_FUNCTION(x) (((x) >> S_FUNCTION) & M_FUNCTION)