base/include/rtai_fifos.h File Reference


Detailed Description

Interface of the RTAI FIFO module.

Note:
Copyright © 1999-2003 Paolo Mantegazza <mantegazza@aero.polimi.it>
This program 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.

This program 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 this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

Definition in file rtai_fifos.h.#include <rtai_types.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/ioctl.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdio.h>
#include <string.h>
#include <rtai_lxrt.h>

Include dependency graph for rtai_fifos.h:

Include dependency graph

This graph shows which files directly or indirectly include this file:

Included by dependency graph

Go to the source code of this file.

Data Structures

struct  rt_fifo_info_struct
struct  rt_fifo_get_info_struct

Defines

#define MAX_FIFOS   64
#define RTAI_FIFOS_MAJOR   150
#define RESET   1
#define RESIZE   2
#define RTF_SUSPEND_TIMED   3
#define OPEN_SIZED   4
#define READ_ALL_AT_ONCE   5
#define READ_TIMED   6
#define WRITE_TIMED   7
#define RTF_SEM_INIT   8
#define RTF_SEM_WAIT   9
#define RTF_SEM_TRYWAIT   10
#define RTF_SEM_TIMED_WAIT   11
#define RTF_SEM_POST   12
#define RTF_SEM_DESTROY   13
#define SET_ASYNC_SIG   14
#define EAVESDROP   19
#define OVRWRITE   20
#define READ_IF   21
#define WRITE_IF   22
#define RTF_NAMED_CREATE   23
#define RTF_GET_N_FIFOS   15
#define RTF_GET_FIFO_INFO   16
#define RTF_CREATE_NAMED   17
#define RTF_NAME_LOOKUP   18
#define RTF_NAMELEN   15
#define FUN_FIFOS_LXRT_INDX   10
#define _CREATE   0
#define _DESTROY   1
#define _PUT   2
#define _GET   3
#define _RESET   4
#define _RESIZE   5
#define _SEM_INIT   6
#define _SEM_DESTRY   7
#define _SEM_POST   8
#define _SEM_TRY   9
#define _CREATE_NAMED   10
#define _GETBY_NAME   11
#define _OVERWRITE   12
#define _PUT_IF   13
#define _GET_IF   14
#define _NAMED_CREATE   15

Functions

int rtf_create (unsigned int fifo, int size)
int rtf_destroy (unsigned int fifo)
int rtf_put (unsigned int fifo, const void *buf, int count)
int rtf_put_if (unsigned int fifo, const void *buf, int count)
int rtf_get (unsigned int fifo, void *buf, int count)
int rtf_get_if (unsigned int fifo, void *buf, int count)
int rtf_reset_lxrt (unsigned int fifo)
int rtf_resize_lxrt (unsigned int fifo, int size)
int rtf_sem_init_lxrt (unsigned int fifo, int value)
int rtf_sem_post_lxrt (unsigned int fifo)
int rtf_sem_trywait_lxrt (unsigned int fifo)
int rtf_sem_destroy_lxrt (unsigned int fifo)
int rtf_named_create_lxrt (const char *name, int size)
int rtf_create_named_lxrt (const char *name)
int rtf_getfifobyname_lxrt (const char *name)
int rtf_ovrwr_put (unsigned int fifo, const void *buf, int count)
int rtf_reset (int fd)
int rtf_resize (int fd, int size)
int rtf_suspend_timed (int fd, int ms_delay)
int rtf_open_sized (const char *dev, int perm, int size)
int rtf_evdrp (int fd, void *buf, int count)
int rtf_read_all_at_once (int fd, void *buf, int count)
int rtf_read_timed (int fd, void *buf, int count, int ms_delay)
int rtf_read_if (int fd, void *buf, int count)
int rtf_write_timed (int fd, void *buf, int count, int ms_delay)
int rtf_overwrite (int fd, void *buf, int count)
int rtf_write_if (int fd, void *buf, int count)
int rtf_sem_init (int fd, int value)
int rtf_sem_wait (int fd)
int rtf_sem_trywait (int fd)
int rtf_sem_timed_wait (int fd, int ms_delay)
int rtf_sem_post (int fd)
int rtf_sem_destroy (int fd)
int rtf_set_async_sig (int fd, int signum)
 RTAI_PROTO_ALWAYS_INLINE (char *, rtf_getfifobyminor,(int minor, char *buf, int len))
int rtf_getfifobyname (const char *name)
int rtf_named_create (const char *name, int size)
int rtf_create_named (const char *name)


Define Documentation

#define _CREATE   0
 

Definition at line 77 of file rtai_fifos.h.

Referenced by rtf_create().

#define _CREATE_NAMED   10
 

Definition at line 87 of file rtai_fifos.h.

Referenced by rtf_create_named_lxrt().

#define _DESTROY   1
 

Definition at line 78 of file rtai_fifos.h.

Referenced by rtf_destroy().

#define _GET   3
 

Definition at line 80 of file rtai_fifos.h.

Referenced by rtf_get().

#define _GET_IF   14
 

Definition at line 91 of file rtai_fifos.h.

Referenced by rtf_get_if().

#define _GETBY_NAME   11
 

Definition at line 88 of file rtai_fifos.h.

Referenced by rtf_getfifobyname_lxrt().

#define _NAMED_CREATE   15
 

Definition at line 92 of file rtai_fifos.h.

Referenced by rtf_named_create_lxrt().

#define _OVERWRITE   12
 

Definition at line 89 of file rtai_fifos.h.

Referenced by rtf_ovrwr_put().

#define _PUT   2
 

Definition at line 79 of file rtai_fifos.h.

Referenced by rtf_put().

#define _PUT_IF   13
 

Definition at line 90 of file rtai_fifos.h.

Referenced by rtf_put_if().

#define _RESET   4
 

Definition at line 81 of file rtai_fifos.h.

Referenced by rtf_reset_lxrt().

#define _RESIZE   5
 

Definition at line 82 of file rtai_fifos.h.

Referenced by rtf_resize_lxrt().

#define _SEM_DESTRY   7
 

Definition at line 84 of file rtai_fifos.h.

Referenced by rtf_sem_destroy_lxrt().

#define _SEM_INIT   6
 

Definition at line 83 of file rtai_fifos.h.

Referenced by rtf_sem_init_lxrt().

#define _SEM_POST   8
 

Definition at line 85 of file rtai_fifos.h.

Referenced by rtf_sem_post_lxrt().

#define _SEM_TRY   9
 

Definition at line 86 of file rtai_fifos.h.

Referenced by rtf_sem_trywait_lxrt().

#define EAVESDROP   19
 

Definition at line 49 of file rtai_fifos.h.

Referenced by rtf_evdrp(), and rtf_ioctl().

#define FUN_FIFOS_LXRT_INDX   10
 

Definition at line 75 of file rtai_fifos.h.

Referenced by register_lxrt_fifos_support(), rtf_create(), rtf_create_named_lxrt(), rtf_destroy(), rtf_get(), rtf_get_if(), rtf_getfifobyname_lxrt(), rtf_named_create_lxrt(), rtf_ovrwr_put(), rtf_put(), rtf_put_if(), rtf_reset_lxrt(), rtf_resize_lxrt(), rtf_sem_destroy_lxrt(), rtf_sem_init_lxrt(), rtf_sem_post_lxrt(), rtf_sem_trywait_lxrt(), and unregister_lxrt_fifos_support().

#define MAX_FIFOS   64
 

Definition at line 31 of file rtai_fifos.h.

Referenced by __rtai_fifos_init(), rtf_create(), rtf_create_handler(), rtf_getfifobyname(), rtf_ioctl(), and rtf_named_create().

#define OPEN_SIZED   4
 

Definition at line 38 of file rtai_fifos.h.

Referenced by rtf_ioctl().

#define OVRWRITE   20
 

Definition at line 50 of file rtai_fifos.h.

Referenced by rtf_ioctl(), and rtf_overwrite().

#define READ_ALL_AT_ONCE   5
 

Definition at line 39 of file rtai_fifos.h.

Referenced by rtf_ioctl(), and rtf_read_all_at_once().

#define READ_IF   21
 

Definition at line 51 of file rtai_fifos.h.

Referenced by rtf_ioctl(), and rtf_read_if().

#define READ_TIMED   6
 

Definition at line 40 of file rtai_fifos.h.

Referenced by rtf_ioctl(), and rtf_read_timed().

#define RESET   1
 

Definition at line 35 of file rtai_fifos.h.

Referenced by rtf_ioctl(), and rtf_reset().

#define RESIZE   2
 

Definition at line 36 of file rtai_fifos.h.

Referenced by rtf_ioctl(), rtf_open_sized(), and rtf_resize().

#define RTAI_FIFOS_MAJOR   150
 

Definition at line 33 of file rtai_fifos.h.

Referenced by __rtai_fifos_exit(), and __rtai_fifos_init().

#define RTF_CREATE_NAMED   17
 

Definition at line 57 of file rtai_fifos.h.

Referenced by rtf_create_named(), and rtf_ioctl().

#define RTF_GET_FIFO_INFO   16
 

Definition at line 56 of file rtai_fifos.h.

Referenced by rtf_ioctl().

#define RTF_GET_N_FIFOS   15
 

Definition at line 55 of file rtai_fifos.h.

Referenced by rtf_ioctl().

#define RTF_NAME_LOOKUP   18
 

Definition at line 58 of file rtai_fifos.h.

Referenced by rtf_getfifobyname(), and rtf_ioctl().

#define RTF_NAMED_CREATE   23
 

Definition at line 53 of file rtai_fifos.h.

Referenced by rtf_ioctl(), and rtf_named_create().

#define RTF_NAMELEN   15
 

Definition at line 60 of file rtai_fifos.h.

Referenced by main(), rtf_create_named(), rtf_getfifobyname(), rtf_ioctl(), and rtf_named_create().

#define RTF_SEM_DESTROY   13
 

Definition at line 47 of file rtai_fifos.h.

Referenced by rtf_ioctl(), and rtf_sem_destroy().

#define RTF_SEM_INIT   8
 

Definition at line 42 of file rtai_fifos.h.

Referenced by rtf_ioctl(), and rtf_sem_init().

#define RTF_SEM_POST   12
 

Definition at line 46 of file rtai_fifos.h.

Referenced by rtf_ioctl(), and rtf_sem_post().

#define RTF_SEM_TIMED_WAIT   11
 

Definition at line 45 of file rtai_fifos.h.

Referenced by rtf_ioctl(), and rtf_sem_timed_wait().

#define RTF_SEM_TRYWAIT   10
 

Definition at line 44 of file rtai_fifos.h.

Referenced by rtf_ioctl(), and rtf_sem_trywait().

#define RTF_SEM_WAIT   9
 

Definition at line 43 of file rtai_fifos.h.

Referenced by rtf_ioctl(), and rtf_sem_wait().

#define RTF_SUSPEND_TIMED   3
 

Definition at line 37 of file rtai_fifos.h.

Referenced by rtf_suspend_timed().

#define SET_ASYNC_SIG   14
 

Definition at line 48 of file rtai_fifos.h.

Referenced by rtf_ioctl(), and rtf_set_async_sig().

#define WRITE_IF   22
 

Definition at line 52 of file rtai_fifos.h.

Referenced by rtf_ioctl(), and rtf_write_if().

#define WRITE_TIMED   7
 

Definition at line 41 of file rtai_fifos.h.

Referenced by rtf_ioctl(), and rtf_write_timed().


Function Documentation

RTAI_PROTO_ALWAYS_INLINE char *  ,
rtf_getfifobyminor  ,
(int minor, char *buf, int len) 
 

Definition at line 726 of file rtai_fifos.h.

References CONFIG_RTAI_FIFOS_TEMPLATE.

int rtf_create unsigned int  fifo,
int  size
[inline]
 

Definition at line 310 of file rtai_fifos.h.

References _CREATE, FUN_FIFOS_LXRT_INDX, rtai_lxrt_t::i, LOW, rtai_lxrt(), and SIZARG.

Here is the call graph for this function:

int rtf_create_named const char *  name  )  [inline]
 

Definition at line 766 of file rtai_fifos.h.

References errno, RTF_CREATE_NAMED, and RTF_NAMELEN.

int rtf_create_named_lxrt const char *  name  )  [inline]
 

Definition at line 407 of file rtai_fifos.h.

References _CREATE_NAMED, FUN_FIFOS_LXRT_INDX, rtai_lxrt_t::i, LOW, rtai_lxrt(), and SIZARG.

Here is the call graph for this function:

int rtf_destroy unsigned int  fifo  )  [inline]
 

Definition at line 316 of file rtai_fifos.h.

References _DESTROY, FUN_FIFOS_LXRT_INDX, rtai_lxrt_t::i, LOW, rtai_lxrt(), and SIZARG.

Here is the call graph for this function:

int rtf_evdrp int  fd,
void *  buf,
int  count
[inline]
 

Definition at line 513 of file rtai_fifos.h.

References count, EAVESDROP, and errno.

int rtf_get unsigned int  fifo,
void *  buf,
int  count
[inline]
 

Definition at line 338 of file rtai_fifos.h.

References _GET, count, FUN_FIFOS_LXRT_INDX, rtai_lxrt_t::i, LOW, rtai_lxrt(), and SIZARG.

Here is the call graph for this function:

int rtf_get_if unsigned int  fifo,
void *  buf,
int  count
[inline]
 

Definition at line 350 of file rtai_fifos.h.

References _GET_IF, count, FUN_FIFOS_LXRT_INDX, rtai_lxrt_t::i, LOW, rtai_lxrt(), and SIZARG.

Here is the call graph for this function:

int rtf_getfifobyname const char *  name  )  [inline]
 

Definition at line 732 of file rtai_fifos.h.

References errno, RTF_NAME_LOOKUP, and RTF_NAMELEN.

int rtf_getfifobyname_lxrt const char *  name  )  [inline]
 

Definition at line 416 of file rtai_fifos.h.

References _GETBY_NAME, FUN_FIFOS_LXRT_INDX, rtai_lxrt_t::i, LOW, rtai_lxrt(), and SIZARG.

Here is the call graph for this function:

int rtf_named_create const char *  name,
int  size
[inline]
 

Definition at line 749 of file rtai_fifos.h.

References errno, RTF_NAMED_CREATE, and RTF_NAMELEN.

int rtf_named_create_lxrt const char *  name,
int  size
[inline]
 

Definition at line 398 of file rtai_fifos.h.

References _NAMED_CREATE, FUN_FIFOS_LXRT_INDX, rtai_lxrt_t::i, LOW, rtai_lxrt(), and SIZARG.

Here is the call graph for this function:

int rtf_overwrite int  fd,
void *  buf,
int  count
[inline]
 

Definition at line 606 of file rtai_fifos.h.

References count, errno, and OVRWRITE.

int rtf_ovrwr_put unsigned int  fifo,
const void *  buf,
int  count
[inline]
 

Definition at line 425 of file rtai_fifos.h.

References _OVERWRITE, count, FUN_FIFOS_LXRT_INDX, rtai_lxrt_t::i, LOW, rtai_lxrt(), and SIZARG.

Here is the call graph for this function:

int rtf_put unsigned int  fifo,
const void *  buf,
int  count
[inline]
 

Definition at line 322 of file rtai_fifos.h.

References _PUT, count, FUN_FIFOS_LXRT_INDX, rtai_lxrt_t::i, LOW, rtai_lxrt(), and SIZARG.

Here is the call graph for this function:

int rtf_put_if unsigned int  fifo,
const void *  buf,
int  count
[inline]
 

Definition at line 330 of file rtai_fifos.h.

References _PUT_IF, count, FUN_FIFOS_LXRT_INDX, rtai_lxrt_t::i, LOW, rtai_lxrt(), and SIZARG.

Here is the call graph for this function:

int rtf_read_if int  fd,
void *  buf,
int  count
[inline]
 

Definition at line 571 of file rtai_fifos.h.

References count, errno, and READ_IF.

int rtf_reset int  fd  )  [inline]
 

Definition at line 433 of file rtai_fifos.h.

References errno, and RESET.

int rtf_reset_lxrt unsigned int  fifo  )  [inline]
 

Definition at line 362 of file rtai_fifos.h.

References _RESET, FUN_FIFOS_LXRT_INDX, rtai_lxrt_t::i, LOW, rtai_lxrt(), and SIZARG.

Here is the call graph for this function:

int rtf_resize int  fd,
int  size
[inline]
 

Definition at line 439 of file rtai_fifos.h.

References errno, and RESIZE.

int rtf_resize_lxrt unsigned int  fifo,
int  size
[inline]
 

Definition at line 368 of file rtai_fifos.h.

References _RESIZE, FUN_FIFOS_LXRT_INDX, rtai_lxrt_t::i, LOW, rtai_lxrt(), and SIZARG.

Here is the call graph for this function:

int rtf_sem_destroy int  fd  )  [inline]
 

Definition at line 698 of file rtai_fifos.h.

References errno, and RTF_SEM_DESTROY.

int rtf_sem_destroy_lxrt unsigned int  fifo  )  [inline]
 

Definition at line 392 of file rtai_fifos.h.

References _SEM_DESTRY, FUN_FIFOS_LXRT_INDX, rtai_lxrt_t::i, LOW, rtai_lxrt(), and SIZARG.

Here is the call graph for this function:

int rtf_sem_init int  fd,
int  value
[inline]
 

Definition at line 620 of file rtai_fifos.h.

References errno, and RTF_SEM_INIT.

int rtf_sem_init_lxrt unsigned int  fifo,
int  value
[inline]
 

Definition at line 374 of file rtai_fifos.h.

References _SEM_INIT, FUN_FIFOS_LXRT_INDX, rtai_lxrt_t::i, LOW, rtai_lxrt(), and SIZARG.

Here is the call graph for this function:

int rtf_sem_post int  fd  )  [inline]
 

Definition at line 692 of file rtai_fifos.h.

References errno, and RTF_SEM_POST.

int rtf_sem_post_lxrt unsigned int  fifo  )  [inline]
 

Definition at line 380 of file rtai_fifos.h.

References _SEM_POST, FUN_FIFOS_LXRT_INDX, rtai_lxrt_t::i, LOW, rtai_lxrt(), and SIZARG.

Here is the call graph for this function:

int rtf_sem_trywait int  fd  )  [inline]
 

Definition at line 654 of file rtai_fifos.h.

References errno, and RTF_SEM_TRYWAIT.

int rtf_sem_trywait_lxrt unsigned int  fifo  )  [inline]
 

Definition at line 386 of file rtai_fifos.h.

References _SEM_TRY, FUN_FIFOS_LXRT_INDX, rtai_lxrt_t::i, LOW, rtai_lxrt(), and SIZARG.

Here is the call graph for this function:

int rtf_write_if int  fd,
void *  buf,
int  count
[inline]
 

Definition at line 613 of file rtai_fifos.h.

References count, errno, and WRITE_IF.


Generated on Thu Nov 20 11:52:34 2008 for RTAI API by doxygen 1.3.8