Introduction.

Group codes can indicate the type of associated data.
In some cases the string may be hexadecimal integer (I reported those known to me, but I'm not sure it's all).
The maximum character number of string are indicated in global.h as DXF_MAX_STRING_LENGTH, however we have to implement a maximum limit for each string in each entity because the limit can be minor, for example see the mtext text value, group code 1, have a limits of 250 characters, although since 2000 it could be 2049.

Table: Data type

Group code rangesData type
0-9char [255], since DXF R15/2000 char [2049]
5int "%x" (hexadecimal number)
10-59double
60-79int16_t
90-99int32_t
100char [255]
102char [255]
105int "%x" (hexadecimal number)
110-149double
160-169int64_t
170-179int16_t
210-239double
270-289int16_t
290-299bool? (boolean flag value, I don't now how it compare in C89, in C99 using #include <stdbool.h> can be a bool)
300-309char [255?] (isn't clear the maximum limit of characters)
310-369int "%x" (hexadecimal number)
370-389int16_t
390-399int "%x" (hexadecimal number)
400-409int16_t
410-419char [255?] (isn't clear the maximum limit of characters)
420-429int32_t
430-439char [255?] (isn't clear the maximum limit of characters)
440-449int32_t
450-459long int? int64_t? (isn't clear)
460-469double
470-479char [255?] (isn't clear the maximum limit of characters)
480-481int "%x" (hexadecimal number)
999char [255]
1000-1009char [255], since DXF R15/2000 char [2049]
1004-1005int "%x" (hexadecimal number)
1010-1059double
1060-1070int16_t
1071int32_t