GB_VARIANT

typedef
  union {
    GB_TYPE type;
    struct { GB_TYPE type; long value; } _boolean;
    struct { GB_TYPE type; long value; } _byte;
    struct { GB_TYPE type; long value; } _short;
    struct { GB_TYPE type; long value; } _integer;
    struct { GB_TYPE type; long long value; } _long;
    struct { GB_TYPE type; double value; } _float;
    struct { GB_TYPE type; long date; long time; } _date;
    struct { GB_TYPE type; char *value; } _string;
    struct { GB_TYPE type; void *value; } _object;
    }
  GB_VARIANT_VALUE;

typedef
  struct {
    GB_TYPE type;
    GB_VARIANT_VALUE value;
    }
  GB_VARIANT ;

This structure represents a Variant Gambas value.