vcan_ioctl_cmd¶
Here is the definition:
typedef enum
{ VCAN_IOCTL_CAN=0,
VCAN_IOCTL_SETNAME=1,
VCAN_IOCTL_IDENTIFY=2,
VCAN_IOCTL_VERSION=3
} vcan_ioctl_cmd;
This is the data type for all ioctl-commands that can be performed
by the driver. The ‘command’ parameter of the ioctl
-function
has to have a value according to vcan_ioctl_cmd
. The driver-function
is selected according to the value of that ‘command’ parameter.
- VCAN_IOCTL_CAN
This constant specifies that a CAN-status function is to be performed. See also
vcan_status_tag
.- VCAN_IOCTL_SETNAME
This constant is used to call the set-name function of the driver. A name is assigned to the thread that calls this function. If the thread later crashed without closing the driver, that name can be used to get the appropriate file-handle to the driver back. The name is a string that is given to the ioctl-function as data-pointer.
- VCAN_IOCTL_IDENTIFY
This constant is used to call the identify- function of the driver. The driver looks up it’s internal list of thread-names and assigns the file-handle to the objects that are or were used by the thread that was registered with that name. The name is a string that is given to the ioctl-function as data-pointer.
- VCAN_IOCTL_VERSION
This constant is used to call the version- function of the driver. The major- and minor version numbers are returned in the data-field of the ioctl-function. This data-field is always a pointer, to the address ‘pointer’ and ‘pointer+1’ the driver’s major version number is written as a short-integer. The driver’s minor version number is written to ‘pointer+2’ and ‘pointer+3’ as a short-integer.