23#ifndef _RTDM_UAPI_RTDM_H
24#define _RTDM_UAPI_RTDM_H
38#define RTDM_API_MIN_COMPAT_VER 9
56#define RTDM_TIMEOUT_INFINITE 0
59#define RTDM_TIMEOUT_NONE (-1)
72#define RTDM_CLASS_PARPORT 1
73#define RTDM_CLASS_SERIAL 2
74#define RTDM_CLASS_CAN 3
75#define RTDM_CLASS_NETWORK 4
76#define RTDM_CLASS_RTMAC 5
77#define RTDM_CLASS_TESTING 6
78#define RTDM_CLASS_RTIPC 7
79#define RTDM_CLASS_COBALT 8
80#define RTDM_CLASS_UDD 9
81#define RTDM_CLASS_MEMORY 10
82#define RTDM_CLASS_GPIO 11
83#define RTDM_CLASS_SPI 12
84#define RTDM_CLASS_PWM 13
86#define RTDM_CLASS_MISC 223
87#define RTDM_CLASS_EXPERIMENTAL 224
88#define RTDM_CLASS_MAX 255
91#define RTDM_SUBCLASS_GENERIC (-1)
93#define RTIOC_TYPE_COMMON 0
100#define RTDM_MAX_DEVNAME_LEN 31
126#define RTDM_PURGE_RX_BUFFER 0x0001
127#define RTDM_PURGE_TX_BUFFER 0x0002
140#define RTIOC_DEVICE_INFO \
141 _IOR(RTIOC_TYPE_COMMON, 0x00, struct rtdm_device_info)
147#define RTIOC_PURGE _IOW(RTIOC_TYPE_COMMON, 0x10, int)
152struct _rtdm_getsockopt_args {
159struct _rtdm_setsockopt_args {
166struct _rtdm_getsockaddr_args {
167 struct sockaddr *addr;
171struct _rtdm_setsockaddr_args {
172 const struct sockaddr *addr;
176#define _RTIOC_GETSOCKOPT _IOW(RTIOC_TYPE_COMMON, 0x20, \
177 struct _rtdm_getsockopt_args)
178#define _RTIOC_SETSOCKOPT _IOW(RTIOC_TYPE_COMMON, 0x21, \
179 struct _rtdm_setsockopt_args)
180#define _RTIOC_BIND _IOW(RTIOC_TYPE_COMMON, 0x22, \
181 struct _rtdm_setsockaddr_args)
182#define _RTIOC_CONNECT _IOW(RTIOC_TYPE_COMMON, 0x23, \
183 struct _rtdm_setsockaddr_args)
184#define _RTIOC_LISTEN _IOW(RTIOC_TYPE_COMMON, 0x24, \
186#define _RTIOC_ACCEPT _IOW(RTIOC_TYPE_COMMON, 0x25, \
187 struct _rtdm_getsockaddr_args)
188#define _RTIOC_GETSOCKNAME _IOW(RTIOC_TYPE_COMMON, 0x26, \
189 struct _rtdm_getsockaddr_args)
190#define _RTIOC_GETPEERNAME _IOW(RTIOC_TYPE_COMMON, 0x27, \
191 struct _rtdm_getsockaddr_args)
192#define _RTIOC_SHUTDOWN _IOW(RTIOC_TYPE_COMMON, 0x28, \
196struct _rtdm_mmap_request {
struct rtdm_device_info rtdm_device_info_t
Device information.
uint64_t nanosecs_abs_t
RTDM type for representing absolute dates.
Definition rtdm.h:43
int64_t nanosecs_rel_t
RTDM type for representing relative intervals.
Definition rtdm.h:49
Device information.
Definition rtdm.h:106
int profile_version
Supported device profile version.
Definition rtdm.h:119
int device_flags
Device flags, see Device Flags for details.
Definition rtdm.h:108
int device_sub_class
Device sub-class, either RTDM_SUBCLASS_GENERIC or a RTDM_SUBCLASS_xxx definition of the related Devic...
Definition rtdm.h:116
int device_class
Device class ID, see RTDM_CLASS_xxx.
Definition rtdm.h:111