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 dependency graph for rtai_fifos.h:

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

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
#define _AVBS   16
#define _FRBS   17

Functions

static int rtf_create (unsigned int fifo, int size)
static int rtf_destroy (unsigned int fifo)
static int rtf_put (unsigned int fifo, const void *buf, int count)
static int rtf_put_if (unsigned int fifo, const void *buf, int count)
static int rtf_get (unsigned int fifo, void *buf, int count)
static int rtf_get_if (unsigned int fifo, void *buf, int count)
static int rtf_get_avbs (unsigned int fifo)
static int rtf_get_frbs (unsigned int fifo)
static int rtf_reset_lxrt (unsigned int fifo)
static int rtf_resize_lxrt (unsigned int fifo, int size)
static int rtf_sem_init_lxrt (unsigned int fifo, int value)
static int rtf_sem_post_lxrt (unsigned int fifo)
static int rtf_sem_trywait_lxrt (unsigned int fifo)
static int rtf_sem_destroy_lxrt (unsigned int fifo)
static int rtf_named_create_lxrt (const char *name, int size)
static int rtf_create_named_lxrt (const char *name)
static int rtf_getfifobyname_lxrt (const char *name)
static int rtf_ovrwr_put (unsigned int fifo, const void *buf, int count)
static int rtf_reset (int fd)
static int rtf_resize (int fd, int size)
static int rtf_suspend_timed (int fd, int ms_delay)
 Suspend a process for some time.
static int rtf_open_sized (const char *dev, int perm, int size)
 Create a real-time FIFO.
static int rtf_evdrp (int fd, void *buf, int count)
static int rtf_read_all_at_once (int fd, void *buf, int count)
 Read data from FIFO in user space, waiting for all of them.
static int rtf_read_timed (int fd, void *buf, int count, int ms_delay)
 Read data from FIFO in user space, with timeout.
static int rtf_read_if (int fd, void *buf, int count)
static int rtf_write_timed (int fd, void *buf, int count, int ms_delay)
 Write data to FIFO in user space, with timeout.
static int rtf_overwrite (int fd, void *buf, int count)
static int rtf_write_if (int fd, void *buf, int count)
static int rtf_sem_init (int fd, int value)
static int rtf_sem_wait (int fd)
 Take a semaphore.
static int rtf_sem_trywait (int fd)
static int rtf_sem_timed_wait (int fd, int ms_delay)
 Wait a semaphore with timeout.
static int rtf_sem_post (int fd)
static int rtf_sem_destroy (int fd)
static int rtf_set_async_sig (int fd, int signum)
 Activate asynchronous notification of data availability.
 RTAI_PROTO_ALWAYS_INLINE (char *, rtf_getfifobyminor,(int minor, char *buf, int len))
static int rtf_getfifobyname (const char *name)
static int rtf_named_create (const char *name, int size)
static int rtf_create_named (const char *name)


Define Documentation

#define _AVBS   16

Definition at line 94 of file rtai_fifos.h.

Referenced by rtf_get_avbs().

#define _CREATE   0

Definition at line 78 of file rtai_fifos.h.

Referenced by rtf_create().

#define _CREATE_NAMED   10

Definition at line 88 of file rtai_fifos.h.

Referenced by rtf_create_named_lxrt().

#define _DESTROY   1

Definition at line 79 of file rtai_fifos.h.

Referenced by rtf_destroy().

#define _FRBS   17

Definition at line 95 of file rtai_fifos.h.

Referenced by rtf_get_frbs().

#define _GET   3

Definition at line 81 of file rtai_fifos.h.

Referenced by rtf_get().

#define _GET_IF   14

Definition at line 92 of file rtai_fifos.h.

Referenced by rtf_get_if().

#define _GETBY_NAME   11

Definition at line 89 of file rtai_fifos.h.

Referenced by rtf_getfifobyname_lxrt().

#define _NAMED_CREATE   15

Definition at line 93 of file rtai_fifos.h.

Referenced by rtf_named_create_lxrt().

#define _OVERWRITE   12

Definition at line 90 of file rtai_fifos.h.

Referenced by rtf_ovrwr_put().

#define _PUT   2

Definition at line 80 of file rtai_fifos.h.

Referenced by rtf_put().

#define _PUT_IF   13

Definition at line 91 of file rtai_fifos.h.

Referenced by rtf_put_if().

#define _RESET   4

Definition at line 82 of file rtai_fifos.h.

Referenced by rtf_reset_lxrt().

#define _RESIZE   5

Definition at line 83 of file rtai_fifos.h.

Referenced by rtf_resize_lxrt().

#define _SEM_DESTRY   7

Definition at line 85 of file rtai_fifos.h.

Referenced by rtf_sem_destroy_lxrt().

#define _SEM_INIT   6

Definition at line 84 of file rtai_fifos.h.

Referenced by rtf_sem_init_lxrt().

#define _SEM_POST   8

Definition at line 86 of file rtai_fifos.h.

Referenced by rtf_sem_post_lxrt().

#define _SEM_TRY   9

Definition at line 87 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 76 of file rtai_fifos.h.

Referenced by register_lxrt_fifos_support(), rtf_create(), rtf_create_named_lxrt(), rtf_destroy(), rtf_get(), rtf_get_avbs(), rtf_get_frbs(), 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_exit(), __rtai_fifos_init(), rtf_create(), rtf_create_handler(), and rtf_ioctl().

#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 752 of file rtai_fifos.h.

static int rtf_create ( unsigned int  fifo,
int  size 
) [inline, static]

Definition at line 324 of file rtai_fifos.h.

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

Referenced by init_module(), rtf_ioctl(), rtf_named_create(), and rtf_open().

Here is the call graph for this function:

static int rtf_create_named ( const char *  name  )  [inline, static]

Definition at line 792 of file rtai_fifos.h.

References errno, fd, RTF_CREATE_NAMED, and RTF_NAMELEN.

Referenced by rtf_ioctl().

static int rtf_create_named_lxrt ( const char *  name  )  [inline, static]

Definition at line 433 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:

static int rtf_destroy ( unsigned int  fifo  )  [inline, static]

Definition at line 330 of file rtai_fifos.h.

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

Referenced by cleanup_module(), and rtf_release().

Here is the call graph for this function:

static int rtf_evdrp ( int  fd,
void *  buf,
int  count 
) [inline, static]

Definition at line 539 of file rtai_fifos.h.

References args, EAVESDROP, and errno.

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

Definition at line 352 of file rtai_fifos.h.

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

Here is the call graph for this function:

static int rtf_get_avbs ( unsigned int  fifo  )  [inline, static]

Definition at line 376 of file rtai_fifos.h.

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

Here is the call graph for this function:

static int rtf_get_frbs ( unsigned int  fifo  )  [inline, static]

Definition at line 382 of file rtai_fifos.h.

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

Here is the call graph for this function:

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

Definition at line 364 of file rtai_fifos.h.

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

Here is the call graph for this function:

static int rtf_getfifobyname ( const char *  name  )  [inline, static]

Definition at line 758 of file rtai_fifos.h.

References errno, fd, RTF_NAME_LOOKUP, and RTF_NAMELEN.

Referenced by rtf_ioctl().

static int rtf_getfifobyname_lxrt ( const char *  name  )  [inline, static]

Definition at line 442 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:

static int rtf_named_create ( const char *  name,
int  size 
) [inline, static]

Definition at line 775 of file rtai_fifos.h.

References errno, fd, RTF_NAMED_CREATE, and RTF_NAMELEN.

Referenced by rtf_create_named(), and rtf_ioctl().

static int rtf_named_create_lxrt ( const char *  name,
int  size 
) [inline, static]

Definition at line 424 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:

static int rtf_overwrite ( int  fd,
void *  buf,
int  count 
) [inline, static]

Definition at line 632 of file rtai_fifos.h.

References args, errno, and OVRWRITE.

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

Definition at line 451 of file rtai_fifos.h.

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

Here is the call graph for this function:

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

Definition at line 336 of file rtai_fifos.h.

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

Referenced by calibrate(), rt_timer_tick_ext(), spv(), and user_srq().

Here is the call graph for this function:

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

Definition at line 344 of file rtai_fifos.h.

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

Here is the call graph for this function:

static int rtf_read_if ( int  fd,
void *  buf,
int  count 
) [inline, static]

Definition at line 597 of file rtai_fifos.h.

References args, errno, and READ_IF.

static int rtf_reset ( int  fd  )  [inline, static]

Definition at line 459 of file rtai_fifos.h.

References errno, and RESET.

Referenced by rtf_ioctl(), and rtf_llseek().

static int rtf_reset_lxrt ( unsigned int  fifo  )  [inline, static]

Definition at line 388 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:

static int rtf_resize ( int  fd,
int  size 
) [inline, static]

Definition at line 465 of file rtai_fifos.h.

References errno, and RESIZE.

Referenced by rtf_create(), and rtf_ioctl().

static int rtf_resize_lxrt ( unsigned int  fifo,
int  size 
) [inline, static]

Definition at line 394 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:

static int rtf_sem_destroy ( int  fd  )  [inline, static]

Definition at line 724 of file rtai_fifos.h.

References errno, and RTF_SEM_DESTROY.

static int rtf_sem_destroy_lxrt ( unsigned int  fifo  )  [inline, static]

Definition at line 418 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:

static int rtf_sem_init ( int  fd,
int  value 
) [inline, static]

Definition at line 646 of file rtai_fifos.h.

References errno, and RTF_SEM_INIT.

static int rtf_sem_init_lxrt ( unsigned int  fifo,
int  value 
) [inline, static]

Definition at line 400 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:

static int rtf_sem_post ( int  fd  )  [inline, static]

Definition at line 718 of file rtai_fifos.h.

References errno, and RTF_SEM_POST.

static int rtf_sem_post_lxrt ( unsigned int  fifo  )  [inline, static]

Definition at line 406 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:

static int rtf_sem_trywait ( int  fd  )  [inline, static]

Definition at line 680 of file rtai_fifos.h.

References errno, and RTF_SEM_TRYWAIT.

static int rtf_sem_trywait_lxrt ( unsigned int  fifo  )  [inline, static]

Definition at line 412 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:

static int rtf_write_if ( int  fd,
void *  buf,
int  count 
) [inline, static]

Definition at line 639 of file rtai_fifos.h.

References args, errno, and WRITE_IF.


Generated on Tue Feb 2 17:46:51 2010 for RTAI API by  doxygen 1.4.7