| Accelerators | 32 bit | integer ID |
| Atom | 32 bit | Atom ID |
| Boolean | 24 bit | immediate data |
| Color | 24 bit | immediate data (Red value) followed by 2 16 bit words for Green and Blue@ |
| Colormap | 32 bit | Colormap XID |
| Compound Strings | 32 bit | address |
| Cursor | 32bit | Cursor XID |
| Enumeration | 24 bit | immediate integer |
| Font | 32 bit | Font XID |
| Font List | 32 bit | integer ID |
| Function | 24 bit | immediate token |
| Int | 32 bit | integer |
| List | 24 bit | immediate data (length) followed by each element recorded in order |
| Pixmap | 32 bit | Pixmap XID |
| Short | 24 bit | immediate integer |
| (1) Strings | 24 bit | immediate data (length of string including '\0') followed by string data padded to end on a word boundary …or… |
| (2) Strings | 24 bit | immediate token (for common strings) |
| Translations | 32 bit | integer ID |
| Widgets | 32 bit | integer ID |
| Window | 32 bit | Window XID |
For objects such as translations, widgets, accelerators, font lists, and compound strings, the 32 bit ID is just the address of the object in the C server process. They are represented in Lisp by structures which encapsulate their ID’s and provide them with Lisp data types (other than simply INTEGER).