Linux/Xenomai Kernel Space

Kernel-space declarations for the Linux implementation.

These declarations apply to both Linux UIO and Xenomai UDD. They are only available to kernel-space code.

struct cuddlki_memregion_priv

Private kernel memory region data.

Definition

struct cuddlki_memregion_priv {
  struct uio_info *uio_ptr;
  struct mutex ref_mutex;
};

Members

uio_ptr

Pointer to the associated Linux UIO device.

ref_mutex

Mutex protecting ref_count.

Description

This data structure contains private, platform-specific data members reserved for internal use by the Cuddl implementation.

struct cuddlki_interrupt_priv

Private kernel interrupt handler data.

Definition

struct cuddlki_interrupt_priv {
#if defined(CUDDLK_USE_UDD);
  rtdm_irq_t irqh;
#endif;
};

Members

irqh

Xenomai RTDM interrupt data structure.

Description

This data structure contains private, platform-specific data members reserved for internal use by the Cuddl implementation.

struct cuddlki_eventsrc_priv

Private kernel event source data.

Definition

struct cuddlki_eventsrc_priv {
  int uio_open_count;
  struct uio_info *uio_ptr;
#if defined(CUDDLK_USE_UDD);
  int udd_open_count;
  struct udd_device *udd_ptr;
  rtdm_nrtsig_t nrt_sig;
#endif;
  struct mutex ref_mutex;
  struct mutex open_mutex;
};

Members

uio_open_count

Count of open Linux UIO file descriptors.

uio_ptr

Pointer to the associated Linux UIO device.

udd_open_count

Count of open Xenomai UDD file descriptors.

udd_ptr

Pointer to the associated Xenoami UDD device.

nrt_sig

Xenomai real-time/non-real-time signaling mechanism.

ref_mutex

Mutex protecting ref_count.

open_mutex

Mutex protecting the open counts.

Description

This data structure contains private, platform-specific data members reserved for internal use by the Cuddl implementation.

struct cuddlki_device_priv

Private kernel device data.

Definition

struct cuddlki_device_priv {
  char *unique_name;
  struct uio_info uio;
#if defined(CUDDLK_USE_UDD);
  struct udd_device udd;
#endif;
};

Members

unique_name

Unique base name for use when creating UDD/UIO device nodes.

uio

The associate Linux UIO device.

udd

The associate Xenomai UDD device.

Description

This data structure contains private, platform-specific data members reserved for internal use by the Cuddl implementation.

struct cuddlki_manager_priv

Private kernel device data.

Definition

struct cuddlki_manager_priv {
  struct mutex global_mutex;
};

Members

global_mutex

Mutex protecting the managed device list.

Description

This data structure contains private, platform-specific data members reserved for internal use by the Cuddl implementation.