Name Tag C Type byte RIVL_BYTE unsigned char gray RIVL_GRAY unsigned char short RIVL_SHORT short long RIVL_LONG long float RIVL_FLOAT float double RIVL_DOUBLE double rgb Rivl_RGB Rivl_RGB ptr RIVL_PTR void *The name is the string used to refer to the type in Tcl. The tag is a constant of type Rivl_ValueType. Note that gray and RIVL_GRAY are aliases for byte and RIVL_BYTE.
The only C type which is not standard is Rivl_RGB. This is defined by:
typedef struct {
unsigned char r, g, b;
} Rivl_RGB;
Rivl_GetValueType places in *valueTypePtr the value type corresponding
to name. Under normal circumstances the return value is TCL_OK and
interp is unused. If name doesn't contain one of the valid value
type names, then an error message is stored in interp->result,
TCL_ERROR is returned, and *valueTypePtr is unmodified.Rivl_NameOfValueType is the logical inverse of Rivl_GetValueType. Given a value type it returns the corresponding name in a static string.