/** * @file * Real-Time Driver Model for Xenomai, serial device profile header * * @note Copyright (C) 2005-2007 Jan Kiszka * * 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. */ #ifndef _RTDM_SERIAL_H #define _RTDM_SERIAL_H #include #include /** * @ingroup rtdm_profiles * @defgroup rtdm_serial Serial Devices * * This is the common interface a RTDM-compliant serial device has to * provide. Feel free to comment on this profile via the Xenomai * mailing list or directly to the author * . * * @b Profile @b Revision: 3 * @n * @n * @par Device Characteristics * @ref rtdm_driver_flags "Device Flags": @c RTDM_NAMED_DEVICE, @c RTDM_EXCLUSIVE @n * @n * @ref rtdm_driver_profile "Device Class": @c RTDM_CLASS_SERIAL @n * @n * Device Name: @c "/dev/rtdm/rtser", N >= 0 @n * @n * * @par Supported Operations * @b Open @n * @coretags{secondary-only} * Specific return values: none @n * @n * @b Close @n * @coretags{secondary-only} * Specific return values: none @n * @n * @b IOCTL @n * @coretags{task-unrestricted}. See @ref SERIOCTLs "below" @n * Specific return values: see @ref SERIOCTLs "below" @n * @n * @b Read @n * @coretags{mode-unrestricted} * Specific return values: * - -ETIMEDOUT * - -EINTR (interrupted explicitly or by signal) * - -EAGAIN (no data available in non-blocking mode) * - -EBADF (device has been closed while reading) * - -EIO (hardware error or broken bit stream) * . * @n * @b Write @n * @coretags{mode-unrestricted} * Specific return values: * - -ETIMEDOUT * - -EINTR (interrupted explicitly or by signal) * - -EAGAIN (no data written in non-blocking mode) * - -EBADF (device has been closed while writing) */ #endif /* !_RTDM_SERIAL_H */