Xenomai  3.1
Device Profiles

Pre-defined classes of real-time devices. More...

Collaboration diagram for Device Profiles:

Modules

 User-space driver core
 This profile includes all mini-drivers sitting on top of the User-space Device Driver framework (UDD).
 
 CAN Devices
 

This is the common interface a RTDM-compliant CAN device has to provide.
 
 Serial Devices
 

This is the common interface a RTDM-compliant serial device has to provide.
 
 Testing Devices
 

This group of devices is intended to provide in-kernel testing results.
 
 Real-time IPC
 Profile Revision: 1


 

Data Structures

struct  rtdm_device_info
 Device information. More...
 

Typedefs

typedef struct rtdm_device_info rtdm_device_info_t
 Device information.
 

RTDM_CLASS_xxx

Device classes

#define RTDM_CLASS_PARPORT   1
 
#define RTDM_CLASS_SERIAL   2
 
#define RTDM_CLASS_CAN   3
 
#define RTDM_CLASS_NETWORK   4
 
#define RTDM_CLASS_RTMAC   5
 
#define RTDM_CLASS_TESTING   6
 
#define RTDM_CLASS_RTIPC   7
 
#define RTDM_CLASS_COBALT   8
 
#define RTDM_CLASS_UDD   9
 
#define RTDM_CLASS_MEMORY   10
 
#define RTDM_CLASS_GPIO   11
 
#define RTDM_CLASS_SPI   12
 
#define RTDM_CLASS_PWM   13
 
#define RTDM_CLASS_MISC   223
 
#define RTDM_CLASS_EXPERIMENTAL   224
 
#define RTDM_CLASS_MAX   255
 

Device Naming

Maximum length of device names (excluding the final null character)

#define RTDM_MAX_DEVNAME_LEN   31
 

RTDM_PURGE_xxx_BUFFER

Flags selecting buffers to be purged

#define RTDM_PURGE_RX_BUFFER   0x0001
 
#define RTDM_PURGE_TX_BUFFER   0x0002
 

Common IOCTLs

The following IOCTLs are common to all device rtdm_profiles.

#define RTIOC_DEVICE_INFO   _IOR(RTIOC_TYPE_COMMON, 0x00, struct rtdm_device_info)
 Retrieve information about a device or socket. More...
 
#define RTIOC_PURGE   _IOW(RTIOC_TYPE_COMMON, 0x10, int)
 Purge internal device or socket buffers. More...
 

Detailed Description

Pre-defined classes of real-time devices.

Device profiles define which operation handlers a driver of a certain class of devices has to implement, which name or protocol it has to register, which IOCTLs it has to provide, and further details. Sub-classes can be defined in order to extend a device profile with more hardware-specific functions.

Macro Definition Documentation

◆ RTIOC_DEVICE_INFO

#define RTIOC_DEVICE_INFO   _IOR(RTIOC_TYPE_COMMON, 0x00, struct rtdm_device_info)

Retrieve information about a device or socket.

Parameters
[out]argPointer to information buffer (struct rtdm_device_info)

◆ RTIOC_PURGE

#define RTIOC_PURGE   _IOW(RTIOC_TYPE_COMMON, 0x10, int)

Purge internal device or socket buffers.

Parameters
[in]argPurge mask, see RTDM_PURGE_xxx_BUFFER