Looks up or registers an enumeration that is implemented with a particular type plugin.
As long as any instances of the type exist, the type plugin will not be unloaded.
Since 2.56 if this is null this will call
instead. This can be used when making a static build of the module.
name for the type
an array of EnumValue structs for the possible enumeration values. The array is terminated by a struct with all members being 0.
the new or existing type ID