The description element allows for extra documentation of a facility, event, type or field. An unsigned integer of a given size. The size defaults to int_size as specified when the facility is loaded. An signed integer of a given size. The size defaults to int_size as specified when the facility is loaded. An unsigned char. (1 byte integer). It is unclear why this is preferred over a uint with size specified to 1. An unsigned long integer. The size is determined by long_size as specified when the facility is loaded. An signed long integer. The size is determined by long_size as specified when the facility is loaded. An pointer type. The size is determined by pointer_size as specified when the facility is loaded. An size_t type. The size is determined by size_t_size as specified when the facility is loaded. An off_t type. XXX: How is the size determined? A null terminated string. Use of a sequence is preferred as determing the size of the data section of an event with a string is expensive as it requires scanning the string. A list of items of a particular type. The length of the array is determined by the size attribute. For variable sized list use the sequence type. A list of items of a particular type. The length of the array is by a size header. An integer type with a fixed set of possible values. XXX: what is the integer size? A compound type that has a number of different fields, any of which can be a type.