IgH EtherCAT Master  1.6.9
rtdm_xenomai_v3.c File Reference

RTDM interface. More...

Go to the source code of this file.

Macros

#define DEBUG_RTDM   0
 Set to 1 to enable device operations debugging.

Functions

static int ec_rtdm_open (struct rtdm_fd *fd, int oflags)
static void ec_rtdm_close (struct rtdm_fd *fd)
static int ec_rtdm_ioctl_rt_handler (struct rtdm_fd *fd, unsigned int request, void __user *arg)
static int ec_rtdm_ioctl_nrt_handler (struct rtdm_fd *fd, unsigned int request, void __user *arg)
static int ec_rtdm_mmap (struct rtdm_fd *fd, struct vm_area_struct *vma)
int ec_rtdm_dev_init (ec_rtdm_dev_t *rtdm_dev, ec_master_t *master)
 Initialize an RTDM device.
void ec_rtdm_dev_clear (ec_rtdm_dev_t *rtdm_dev)
 Clear an RTDM device.

Variables

static struct rtdm_driver ec_rtdm_driver

Detailed Description

RTDM interface.

Definition in file rtdm_xenomai_v3.c.

Macro Definition Documentation

◆ DEBUG_RTDM

#define DEBUG_RTDM   0

Set to 1 to enable device operations debugging.

Definition at line 38 of file rtdm_xenomai_v3.c.

Function Documentation

◆ ec_rtdm_open()

int ec_rtdm_open ( struct rtdm_fd * fd,
int oflags )
static

Definition at line 42 of file rtdm_xenomai_v3.c.

◆ ec_rtdm_close()

void ec_rtdm_close ( struct rtdm_fd * fd)
static

Definition at line 67 of file rtdm_xenomai_v3.c.

◆ ec_rtdm_ioctl_rt_handler()

int ec_rtdm_ioctl_rt_handler ( struct rtdm_fd * fd,
unsigned int request,
void __user * arg )
static

Definition at line 87 of file rtdm_xenomai_v3.c.

◆ ec_rtdm_ioctl_nrt_handler()

int ec_rtdm_ioctl_nrt_handler ( struct rtdm_fd * fd,
unsigned int request,
void __user * arg )
static

Definition at line 107 of file rtdm_xenomai_v3.c.

◆ ec_rtdm_mmap()

int ec_rtdm_mmap ( struct rtdm_fd * fd,
struct vm_area_struct * vma )
static

Definition at line 119 of file rtdm_xenomai_v3.c.

◆ ec_rtdm_dev_init()

int ec_rtdm_dev_init ( ec_rtdm_dev_t * rtdm_dev,
ec_master_t * master )

Initialize an RTDM device.

Returns
Zero on success, otherwise a negative error code.
Parameters
rtdm_devEtherCAT RTDM device.
masterEtherCAT master.

Definition at line 147 of file rtdm_xenomai_v3.c.

◆ ec_rtdm_dev_clear()

void ec_rtdm_dev_clear ( ec_rtdm_dev_t * rtdm_dev)

Clear an RTDM device.

Parameters
rtdm_devEtherCAT RTDM device.

Definition at line 183 of file rtdm_xenomai_v3.c.

Variable Documentation

◆ ec_rtdm_driver

struct rtdm_driver ec_rtdm_driver
static
Initial value:
= {
.profile_info = RTDM_PROFILE_INFO(ec_rtdm,
RTDM_CLASS_EXPERIMENTAL,
222,
0),
.device_flags = RTDM_NAMED_DEVICE,
.device_count = EC_MAX_MASTERS,
.context_size = sizeof(struct ec_rtdm_context),
.ops = {
.open = ec_rtdm_open,
.close = ec_rtdm_close,
.mmap = ec_rtdm_mmap,
},
}
#define EC_MAX_MASTERS
Maximum number of masters.
Definition master.h:117
int ec_rtdm_mmap(ec_ioctl_context_t *ioctl_ctx, void **user_address)
Memory-map process data to user space.
Definition rtdm.c:238
static int ec_rtdm_close(struct rtdm_dev_context *, rtdm_user_info_t *)
Driver close.
Definition rtdm.c:161
static int ec_rtdm_ioctl_nrt_handler(struct rtdm_dev_context *, rtdm_user_info_t *, unsigned int, void __user *)
Driver ioctl.
Definition rtdm.c:186
static int ec_rtdm_open(struct rtdm_dev_context *, rtdm_user_info_t *, int)
Driver open.
Definition rtdm.c:131
static int ec_rtdm_ioctl_rt_handler(struct rtdm_dev_context *, rtdm_user_info_t *, unsigned int, void __user *)
Definition rtdm.c:206
Context structure for an open RTDM file handle.

Definition at line 128 of file rtdm_xenomai_v3.c.