22#ifndef _COBALT_RTDM_ANALOGY_SUBDEVICE_H
23#define _COBALT_RTDM_ANALOGY_SUBDEVICE_H
25#include <linux/list.h>
26#include <rtdm/analogy/instruction.h>
27#include <rtdm/analogy/command.h>
45 struct a4l_device *
dev;
51 struct a4l_buffer *
buf;
97 unsigned char nb_chan,
unsigned int *chans);
99#define a4l_subd_is_input(x) ((A4L_SUBD_MASK_READ & (x)->flags) != 0)
102#define a4l_subd_is_output(x) \
103 ((A4L_SUBD_MASK_WRITE & (x)->flags) != 0 || \
104 (A4L_SUBD_DIO & (x)->flags) != 0)
112int a4l_ioctl_subdinfo(
struct a4l_device_context * cxt,
void *arg);
113int a4l_ioctl_chaninfo(
struct a4l_device_context * cxt,
void *arg);
114int a4l_ioctl_rnginfo(
struct a4l_device_context * cxt,
void *arg);
115int a4l_ioctl_nbchaninfo(
struct a4l_device_context * cxt,
void *arg);
116int a4l_ioctl_nbrnginfo(
struct a4l_device_context * cxt,
void *arg);
Analogy for Linux, channel, range related features.
Structure describing some channel's characteristics.
Definition channel_range.h:159
Structure describing a channels set.
Definition channel_range.h:187
Structure describing the asynchronous instruction.
Definition analogy.h:289
Structure describing a (unique) range.
Definition channel_range.h:202
Structure describing the subdevice.
Definition subdevice.h:40
struct a4l_buffer * buf
Linked buffer.
Definition subdevice.h:51
unsigned long flags
Type flags.
Definition subdevice.h:59
struct list_head list
List stuff.
Definition subdevice.h:42
struct a4l_cmd_desc * cmd_mask
Command capabilities mask.
Definition subdevice.h:65
struct a4l_rngdesc * rng_desc
Tab of ranges descriptors pointers.
Definition subdevice.h:63
int(* do_cmdtest)(struct a4l_subdevice *, struct a4l_cmd_desc *)
Callback for command checking.
Definition subdevice.h:79
void(* munge)(struct a4l_subdevice *, void *, unsigned long)
Callback for munge operation.
Definition subdevice.h:83
int(* trigger)(struct a4l_subdevice *, lsampl_t)
Callback for trigger operation.
Definition subdevice.h:85
void(* cancel)(struct a4l_subdevice *)
Callback for asynchronous transfer cancellation.
Definition subdevice.h:81
int(* do_cmd)(struct a4l_subdevice *, struct a4l_cmd_desc *)
Callback for command handling.
Definition subdevice.h:77
struct a4l_device * dev
Containing device.
Definition subdevice.h:45
int(* insn_config)(struct a4l_subdevice *, struct a4l_kernel_instruction *)
Callback for the configuration instruction.
Definition subdevice.h:75
struct a4l_channels_desc * chan_desc
Tab of channels descriptors pointers.
Definition subdevice.h:61
int(* insn_read)(struct a4l_subdevice *, struct a4l_kernel_instruction *)
Callback for the instruction "read".
Definition subdevice.h:69
int(* insn_bits)(struct a4l_subdevice *, struct a4l_kernel_instruction *)
Callback for the instruction "bits".
Definition subdevice.h:73
int(* insn_write)(struct a4l_subdevice *, struct a4l_kernel_instruction *)
Callback for the instruction "write".
Definition subdevice.h:71
unsigned int idx
Subdevice index.
Definition subdevice.h:48
char priv[0]
Private data.
Definition subdevice.h:88
unsigned long status
Subdevice's status.
Definition subdevice.h:55