|
|
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.
|
|
|
To avoid confusion in the terminology used in ZIO code and
|
|
|
documentation, this page lists
|
|
|
the types and data structures used in ZIO. For each row we list the
|
|
|
structure name (without `struct`),
|
|
|
the name (english word) we consistently use in all documentation and the
|
|
|
preferred name for pointers
|
|
|
to that data structure.
|
|
|
|
|
|
<table>
|
|
|
<tbody>
|
|
|
<tr class="odd">
|
|
|
<td><strong>Structure name</strong></td>
|
|
|
<td><strong>Documentation name</strong></td>
|
|
|
<td><strong>Pointer name</strong></td>
|
|
|
<td><strong>Description</strong></td>
|
|
|
</tr>
|
|
|
<tr class="even">
|
|
|
<td>zio_device</td>
|
|
|
<td>full-device</td>
|
|
|
<td>zdev</td>
|
|
|
<td>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.</td>
|
|
|
</tr>
|
|
|
<tr class="odd">
|
|
|
<td>zio_cset</td>
|
|
|
<td>cset</td>
|
|
|
<td>cset</td>
|
|
|
<td>It is part of device; it is a group of channels with the same physical charateristics.</td>
|
|
|
</tr>
|
|
|
<tr class="even">
|
|
|
<td>zio_channel</td>
|
|
|
<td>channel</td>
|
|
|
<td>chan</td>
|
|
|
<td>It is part of a cset; it is the single physical connector of device.</td>
|
|
|
</tr>
|
|
|
<tr class="odd">
|
|
|
<td>zio_device_operations</td>
|
|
|
<td>device operations or <em>operations</em></td>
|
|
|
<td>d_op</td>
|
|
|
<td>They are the operations to gain access to the device registers or memory.</td>
|
|
|
</tr>
|
|
|
<tr class="even">
|
|
|
<td>zio_buffer_type</td>
|
|
|
<td>buffer type</td>
|
|
|
<td>zbuf</td>
|
|
|
<td>In analogy to OOP terminology, it is an object which describe a buffer. It contains the buffer operations that are its method.</td>
|
|
|
</tr>
|
|
|
<tr class="odd">
|
|
|
<td>zio_bi</td>
|
|
|
<td>buffer instance or <em>instance</em></td>
|
|
|
<td>bi</td>
|
|
|
<td>It is an instance of a buffer type. It contains the buffer attributes</td>
|
|
|
</tr>
|
|
|
<tr class="even">
|
|
|
<td>zio_buffer_operations</td>
|
|
|
<td>buffer operation or <em>operations</em></td>
|
|
|
<td>b_op</td>
|
|
|
<td>They are the methods of a buffer type; they provide the functions to handle a buffer instance.</td>
|
|
|
</tr>
|
|
|
<tr class="odd">
|
|
|
<td>zio_trigger_type</td>
|
|
|
<td>trigger type</td>
|
|
|
<td>trig</td>
|
|
|
<td>In analogy to the OOP terminology, it is an object which describe a trigger. It contains the trigger operations that are its method.</td>
|
|
|
</tr>
|
|
|
<tr class="even">
|
|
|
<td>zio_ti</td>
|
|
|
<td>trigger instance or <em>instance</em></td>
|
|
|
<td>ti</td>
|
|
|
<td>It is an instance of a trigger type. It contains the trigger attributes.</td>
|
|
|
</tr>
|
|
|
<tr class="odd">
|
|
|
<td>zio_trigger_operations</td>
|
|
|
<td>trigger operations or <em>operations</em></td>
|
|
|
<td>t_op</td>
|
|
|
<td>They are the methods of a trigger type; they provide the functions to handle a trigger instance.</td>
|
|
|
</tr>
|
|
|
<tr class="even">
|
|
|
<td>void *</td>
|
|
|
<td>data/samples</td>
|
|
|
<td>data</td>
|
|
|
<td>It is a set of samples acquired from channel or ready to send to a channel.</td>
|
|
|
</tr>
|
|
|
<tr class="odd">
|
|
|
<td>zio_control</td>
|
|
|
<td>control</td>
|
|
|
<td>ctrl</td>
|
|
|
<td>It is a fixed size structure (512byte) which contain information about the samples.</td>
|
|
|
</tr>
|
|
|
<tr class="even">
|
|
|
<td>zio_block</td>
|
|
|
<td>block</td>
|
|
|
<td>block</td>
|
|
|
<td>It is a container for both data and control. ZIO use block to transfer data between user space, buffer instance and device</td>
|
|
|
</tr>
|
|
|
<tr class="odd">
|
|
|
<td>zio_obj_head</td>
|
|
|
<td>header</td>
|
|
|
<td>head</td>
|
|
|
<td>It is a container for some internal information to manage all the zio object.</td>
|
|
|
</tr>
|
|
|
<tr class="even">
|
|
|
<td>zio_cdev_type</td>
|
|
|
<td>-</td>
|
|
|
<td>-</td>
|
|
|
<td>It is an enumeration to identify the char device type. The possible type are: control and data</td>
|
|
|
</tr>
|
|
|
<tr class="odd">
|
|
|
<td>zio_f_priv</td>
|
|
|
<td>-</td>
|
|
|
<td>-</td>
|
|
|
<td>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.</td>
|
|
|
</tr>
|
|
|
<tr class="even">
|
|
|
<td>zio_attribute_set</td>
|
|
|
<td>attribute set</td>
|
|
|
<td>zattr_set</td>
|
|
|
<td>They are the description of the attributes of an instance. Each attribute can refer directly to a particular register on the full-device.</td>
|
|
|
</tr>
|
|
|
</tbody>
|
|
|
</table>
|
|
|
| **Structure name or C type**| **Name**| **Variable name**|
|
|
|
*Description**|
|
|
|
| zio\_device | full-device | zdev | The overall I/O device, either a or
|
|
|
a chip. The full-device is what modules register into ZIO. |
|
|
|
| zio\_cset | cset | cset | Part of a device; it represents a group of
|
|
|
channels with the same physical features. |
|
|
|
| zio\_channel | channel | chan | Part of a cset; it is the single data
|
|
|
stream endpoint, input or output. |
|
|
|
| zio\_device\_operations | device operations *or* operations | d\_op |
|
|
|
Device-specific methods that act on attributes and data blocks. |
|
|
|
| zio\_buffer\_type | buffer type | zbuf | Description of a buffer. |
|
|
|
| zio\_bi | buffer instance *or* instance | bi | Instance of a buffer
|
|
|
type associated to a specific channel. |
|
|
|
| zio\_buffer\_operations | buffer operation *or* operations | b\_op |
|
|
|
Methods of a buffer type: instance creation and destruction, block
|
|
|
allocation etc. |
|
|
|
| zio\_trigger\_type | trigger type | trig | Description of a trigger,
|
|
|
i.e. a generator of I/O events according to some rules. |
|
|
|
| zio\_ti | trigger instance *or* instance | ti | Instance of a trigger
|
|
|
type associated to a specific cset. |
|
|
|
| zio\_trigger\_operations | trigger operations *or* operations | t\_op
|
|
|
| Methods of a trigger type; instance creation and destruction, block
|
|
|
transfer etc. |
|
|
|
| void \* | data *or* samples | data | A memory area hosting actual I/O
|
|
|
data. |
|
|
|
| zio\_control | control | ctrl | A binary data structure used to
|
|
|
exchange meta-data with user space. |
|
|
|
| zio\_block | block | block | A container for both data and control. In
|
|
|
ZIO, all I/O data is always handled within blocks. |
|
|
|
| zio\_obj\_head | head | head | All ZIO objects begin with this
|
|
|
sub-structure, to ease common management. |
|
|
|
| zio\_cdev\_type | - | - | An enumeration to identify type of a char
|
|
|
device (control or data). |
|
|
|
| zio\_f\_priv | - | - | Set as private\_data in all open files.
|
|
|
includes `cdev_type` and `bi`. |
|
|
|
| zio\_attribute\_set | attribute set | zattr\_set | Attributes of a ZIO
|
|
|
object (device, cset, chan, ti, bi) |
|
|
|
|