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.