To avoid confusion in the terminology used in ZIO code, ZIO documentation and linux kernel, we wrote up a list of types and data structures used in ZIO. Each row of the table represent a type or a data structure in ZIO.
Structure name | Documentation name | Pointer name | Description |
zio_device | full-device | zdev | It describes the overall acquisition device, it can refer both to an acquisition board or a single acquisition chip. The full-device is the atomic hardware item that is registered into ZIO. |
zio_cset | cset | cset | It is part of device; it is a group of channels with the same physical charateristics. |
zio_channel | channel | chan | It is part of a cset; it is the single physical connector of device. |
zio_device_operations | device operations or operations | d_op | They are the operations to gain access to the device registers or memory. |
zio_buffer_type | buffer type | zbuf | In analogy to OOP terminology, it is an object which describe a buffer. It contains the buffer operations that are its method. |
zio_bi | buffer instance or instance | bi | It is an instance of a buffer type. It contains the buffer attributes |
zio_buffer_operations | buffer operation or operations | b_op | They are the methods of a buffer type; they provide the functions to handle a buffer instance. |
zio_trigger_type | trigger type | trig | In analogy to the OOP terminology, it is an object which describe a trigger. It contains the trigger operations that are its method. |
zio_ti | trigger instance or instance | ti | It is an instance of a trigger type. It contains the trigger attributes. |
zio_trigger_operations | trigger operations or operations | t_op | They are the methods of a trigger type; they provide the functions to handle a trigger instance. |
void * | data/samples | data | It is a set of samples acquired from channel or ready to send to a channel. |
zio_control | control | ctrl | It is a fixed size structure (512byte) which contain information about the samples. |
zio_block | block | block | It is a container for both data and control. ZIO use block to transfer data between user space, buffer instance and device |
zio_obj_head | header | head | It is a container for some internal information to manage all the zio object. |
zio_cdev_type | - | - | It is an enumeration to identify the char device type. The possible type are: control and data |
zio_f_priv | - | - | It is a small container for a pointer to a buffer instance and the zio_cdev_type. It is used as private data for files. |
zio_attribute_set | attribute set | zattr_set | They are the description of the attributes of an instance. Each attribute can refer directly to a particular register on the full-device. |