Xenomai API  2.6.5
driver_facilities.c File Reference

Analogy for Linux, driver facilities. More...

Include dependency graph for driver_facilities.c:

Functions

int a4l_register_drv (a4l_drv_t *drv)
 Register an Analogy driver. More...
 
int a4l_unregister_drv (a4l_drv_t *drv)
 Unregister an Analogy driver. More...
 
a4l_subd_ta4l_alloc_subd (int sizeof_priv, void(*setup)(a4l_subd_t *))
 Allocate a subdevice descriptor. More...
 
int a4l_add_subd (a4l_dev_t *dev, a4l_subd_t *subd)
 Add a subdevice to the driver descriptor. More...
 
a4l_subd_ta4l_get_subd (a4l_dev_t *dev, int idx)
 Get a pointer to the subdevice descriptor referenced by its registration index. More...
 
int a4l_buf_prepare_absput (a4l_subd_t *subd, unsigned long count)
 Update the absolute count of data sent from the device to the buffer since the start of the acquisition and after the next DMA shot. More...
 
int a4l_buf_commit_absput (a4l_subd_t *subd, unsigned long count)
 Set the absolute count of data which was sent from the device to the buffer since the start of the acquisition and until the last DMA shot. More...
 
int a4l_buf_prepare_put (a4l_subd_t *subd, unsigned long count)
 Set the count of data which is to be sent to the buffer at the next DMA shot. More...
 
int a4l_buf_commit_put (a4l_subd_t *subd, unsigned long count)
 Set the count of data sent to the buffer during the last completed DMA shots. More...
 
int a4l_buf_put (a4l_subd_t *subd, void *bufdata, unsigned long count)
 Copy some data from the device driver to the buffer. More...
 
int a4l_buf_prepare_absget (a4l_subd_t *subd, unsigned long count)
 Update the absolute count of data sent from the buffer to the device since the start of the acquisition and after the next DMA shot. More...
 
int a4l_buf_commit_absget (a4l_subd_t *subd, unsigned long count)
 Set the absolute count of data which was sent from the buffer to the device since the start of the acquisition and until the last DMA shot. More...
 
int a4l_buf_prepare_get (a4l_subd_t *subd, unsigned long count)
 Set the count of data which is to be sent from the buffer to the device at the next DMA shot. More...
 
int a4l_buf_commit_get (a4l_subd_t *subd, unsigned long count)
 Set the count of data sent from the buffer to the device during the last completed DMA shots. More...
 
int a4l_buf_get (a4l_subd_t *subd, void *bufdata, unsigned long count)
 Copy some data from the buffer to the device driver. More...
 
int a4l_buf_evt (a4l_subd_t *subd, unsigned long evts)
 Signal some event(s) to a user-space program involved in some read / write operation. More...
 
unsigned long a4l_buf_count (a4l_subd_t *subd)
 Get the data amount available in the Analogy buffer. More...
 
a4l_cmd_ta4l_get_cmd (a4l_subd_t *subd)
 Get the current Analogy command descriptor. More...
 
int a4l_get_chan (a4l_subd_t *subd)
 Get the channel index according to its type. More...
 
unsigned int a4l_get_irq (a4l_dev_t *dev)
 Get the interrupt number in use for a specific device. More...
 
int a4l_request_irq (a4l_dev_t *dev, unsigned int irq, a4l_irq_hdlr_t handler, unsigned long flags, void *cookie)
 Register an interrupt handler for a specific device. More...
 
int a4l_free_irq (a4l_dev_t *dev, unsigned int irq)
 Release an interrupt handler for a specific device. More...
 
int a4l_task_init (a4l_task_t *task, const char *name, a4l_task_proc_t proc, void *arg, int priority)
 Intialise and start an Analogy task. More...
 
void a4l_task_destroy (a4l_task_t *task)
 Destroy an Analogy task. More...
 
int a4l_task_sleep (unsigned long long nsdelay)
 Make the current Analogy task passively wait a defined delay. More...
 
unsigned long long a4l_get_time (void)
 Get the absolute time in nanoseconds. More...
 

Detailed Description

Analogy for Linux, driver facilities.

Note
Copyright (C) 1997-2000 David A. Schleef ds@sc.nosp@m.hlee.nosp@m.f.org
Copyright (C) 2008 Alexis Berlemont alexi.nosp@m.s.be.nosp@m.rlemo.nosp@m.nt@f.nosp@m.ree.f.nosp@m.r

Xenomai is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

Xenomai is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with Xenomai; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.