vcan_request ============ Here is the definition:: typedef struct { vcan_message_tag tag CDEP_NOALIGN_ATTR; void *ptr CDEP_NOALIGN_ATTR; /* (multi purpose pointer) */ vcan_message message CDEP_NOALIGN_ATTR; } vcan_request; This driver-call-structure is used to issue a vcan-request. A request is given as driver-call-data to the system-functions ``read`` or a ``write``. This structure consists of a tag, describing the kind of the request, a vcan-message ``message`` and a pointer ``ptr``. The ``ptr`` field is a multi-purpose pointer and is currently only needed by the VCAN_READ_MANY`` and the ``VCAN_WRITETIMED``-driver-functions. In the case of ``VCAN_READ_MANY``, ``ptr`` is a pointer to an array of integers, the first one is the timeout, all the following are CAN-Id's. The list of CAN-Id's is finished with a ``-1``. In the case of ``VCAN_WRITETIMED``, ``ptr`` is a pointer to a variable of the type ``unsigned long`` that contains the inhibit-time at the start of the function and the remaining wait-time at the end of the function. See also the description of ``VCAN_WRITETIMED``, which is part of the ``vcan_message_tag`` data-type. tag This is the tag that defines the kind of the request. ptr The multi-purpose pointer, see description above. message The vcan-message.