Extended Data Exclusive Data Types

Extended data (xdata) can include binary data, organized into variable-length chunks. These are handled by the ads_binary structure, as follows:

struct ads_binary { // Binary data chunk structure  
    short clen; // Length of chunk in bytes  
    char *buf; // Binary data  
}; 

The value of the clen field must be in the range of 0 to 127. If an application requires more than 127 bytes of binary data, it must organize the data into multiple chunks.

With Release 13, the DXF representation of a symbol table can include extended entity data. Xdata is returned as a handle.

Note: There is no mechanism for returning binary data to AutoLISP. Binary chunks can be passed to other external functions by means of acedInvoke(), but only when they belong to groups (1004) within an entity's extended data. You cannot pass isolated binary chunks.

Xdata can also include long integers. The ads_u_val union of the resval field of a result buffer includes both an ads_binary and a long member for handling extended entity data.

Note: There is no mechanism for returning a long integer to AutoLISP. Long integers can be passed to other external functions by means of acedInvoke(), but only when they belong to groups (1071) within an entity's extended data. In AutoLISP, 1071 groups are maintained as real values.