亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? rtcan.h

?? Peak-CAN控制器(PCI接口)的驅動程序
?? H
?? 第 1 頁 / 共 3 頁
字號:
/** * @file * Real-Time Driver Model for RT-Socket-CAN, CAN device profile header * * @note Copyright (C) 2006 Wolfgang Grandegger <wg@grandegger.com> * * @note Copyright (C) 2005, 2006 Sebastian Smolorz *                         <Sebastian.Smolorz@stud.uni-hannover.de> * * This RTDM CAN device profile header is based on: * * include/linux/can.h, include/linux/socket.h, net/can/pf_can.h in * linux-can.patch, a CAN socket framework for Linux * * Copyright (C) 2004, 2005, * Robert Schwebel, Benedikt Spranger, Marc Kleine-Budde, Pengutronix * * 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. * * @ingroup rtcan *//*! * @ingroup profiles * @defgroup rtcan CAN Devices * * This is the common interface a RTDM-compliant CAN device has to provide. * Feel free to report bugs and comments on this profile to the "Socketcan" * mailing list (Socketcan-core@lists.berlios.de) or directly to the authors * (wg@grandegger.com or Sebastian.Smolorz@stud.uni-hannover.de). * @n * @par Device Characteristics * @n * @ref rtdm_device.device_flags "Device Flags": @c RTDM_PROTOCOL_DEVICE @n * @n * @ref rtdm_device.protocol_family "Protocol Family": @c PF_CAN @n * @n * @ref rtdm_device.socket_type "Socket Type": @c SOCK_RAW @n * @n * @ref rtdm_device.device_class "Device Class": @c RTDM_CLASS_CAN @n * @n * * @par Supported Operations * @n * @b Socket @n * Environments: non-RT (RT optional)@n * @n * Specific return values: * - -EPROTONOSUPPORT (Protocol is not supported by the driver. *                     See @ref CAN_PROTO "CAN protocols" *                     for possible protocols.) * . * @n * @n * @b Close @n * Blocking calls to any of the @ref Send or @ref Recv "Receive" functions * will be unblocked when the socket is closed and return with an error. @n * @n * Environments: non-RT (RT optional)@n * @n * Specific return values: none @n * @n * @n * @b IOCTL @n * Mandatory Environments: see @ref IOCTLs "below" @n * Specific return values: see @ref IOCTLs "below" @n * @n * @n * @anchor Bind * @b Bind @n * Binds a socket to one or all CAN devices (see struct sockaddr_can). If * a filter list has been defined with setsockopt (see @ref Sockopts),  * it will be used upon reception of CAN frames to decide whether the  * bound socket will receive a frame. If no filter has been defined, the  * socket will receive @b all CAN frames on the specified interface(s). @n * @n * Binding to special interface index @c 0 will make the socket receive * CAN frames from all CAN interfaces. @n * @n * Binding to an interface index is also relevant for the @ref Send functions * because they will transmit a message over the interface the socket is * bound to when no socket address is given to them. @n * @n * @n * Environments: non-RT (RT optional)@n * @n * Specific return values: * - -EFAULT (It was not possible to access user space memory area at the *            specified address.) * - -ENOMEM (Not enough memory to fulfill the operation) * - -EINVAL (Invalid address family, or invalid length of address structure) * - -ENODEV (Invalid CAN interface index) * - -ENOSPC (No enough space for filter list) * - -EBADF  (Socket is about to be closed) * - -EAGAIN (Too many receivers. Old binding (if any) is still active. *            Close some sockets and try again.) * . * @n * @n * @anchor Sockopts * <b>Setsockopt, Getsockopt</b>@n * These functions allow to set and get various socket options. Currently, * only CAN raw sockets are supported. @n * @n * Supported Levels and Options: * @n * - Level @b SOL_CAN_RAW : CAN RAW protocol (see @ref CAN_PROTO_RAW) *   - Option @ref CAN_RAW_FILTER : CAN filter list *   - Option @ref CAN_RAW_ERR_FILTER : CAN error mask *   - Option @ref CAN_RAW_TX_LOOPBACK : CAN TX loopback to local sockets *   . * . * @n * Environments: non-RT (RT optional)@n * Specific return values: see links to options above. @n * @n * @n * @anchor Recv * <b>Recv, Recvfrom, Recvmsg</b> @n * These functions receive CAN messages from a socket. Only one * message per call can be received, so only one buffer with the correct length * must be passed. For @c SOCK_RAW, this is the size of struct can_frame. @n * @n * Unlike a call to one of the @ref Send functions, a Recv function will not * return with an error if an interface is down (due to bus-off or setting * of stop mode) or in sleep mode. Moreover, in such a case there may still * be some CAN messages in the socket buffer which could be read out * successfully. @n * @n * It is possible to receive a high precision timestamp with every CAN * message. The condition is a former instruction to the socket via * @ref RTCAN_RTIOC_TAKE_TIMESTAMP. The timestamp will be copied to the * @c msg_control buffer of <TT>struct msghdr</TT> if it points to a valid * memory location with size of @ref nanosecs_abs_t. If this * is a NULL pointer the timestamp will be discarded silently. @n * @n * @b Note: A @c msg_controllen of @c 0 upon completion of the function call *          indicates that no timestamp is available for that message. * @n * @n * Supported Flags [in]: * - MSG_DONTWAIT (By setting this flag the operation will only succeed if *                 it would not block, i.e. if there is a message in the *                 socket buffer. This flag takes precedence over a timeout *                 specified by @ref RTCAN_RTIOC_RCV_TIMEOUT.) * - MSG_PEEK     (Receive a message but leave it in the socket buffer. The *                 next receive operation will get that message again.) * . * @n * Supported Flags [out]: none @n * @n * Environments: RT (non-RT optional)@n * @n * Specific return values: * - Non-negative value (Indicating the successful reception of a CAN message. *   For @c SOCK_RAW, this is the size of struct can_frame regardless of *   the actual size of the payload.) * - -EFAULT (It was not possible to access user space memory area at one *            of the specified addresses.) * - -EINVAL (Unsupported flag detected, or invalid length of socket address *            buffer, or invalid length of message control buffer) * - -EMSGSIZE (Zero or more than one iovec buffer passed, or buffer too *              small) * - -EAGAIN (No data available in non-blocking mode) * - -EBADF (Socket was closed.) * - -EINTR (Operation was interrupted explicitly or by signal.) * - -ETIMEDOUT (Timeout) * . * @n * @n * @anchor Send * <b>Send, Sendto, Sendmsg</b> @n * These functions send out CAN messages. Only one message per call can * be transmitted, so only one buffer with the correct length must be passed. * For @c SOCK_RAW, this is the size of struct can_frame. @n * @n * The following only applies to @c SOCK_RAW: If a socket address of * struct sockaddr_can is given, only @c can_ifindex is used. It is also * possible to omit the socket address. Then the interface the socket is * bound to will be used for sending messages. @n * @n * If an interface goes down (due to bus-off or setting of stop mode) all * senders that were blocked on this interface will be woken up. @n * @n * @n * Supported Flags: * - MSG_DONTWAIT (By setting this flag the transmit operation will only *                 succeed if it would not block. This flag takes precedence *                 over a timeout specified by @ref RTCAN_RTIOC_SND_TIMEOUT.) * . * Environments: RT (non-RT optional)@n * @n * Specific return values: * - Non-negative value equal to given buffer size (Indicating the *   successful completion of the function call. See also note.) * - -EOPNOTSUPP (MSG_OOB flag is not supported.) * - -EINVAL (Unsupported flag detected @e or: Invalid length of socket *            address @e or: Invalid address family @e or: Data length code *            of CAN frame not between 0 and 15 @e or: CAN standard frame has *            got an ID not between 0 and 2031) * - -EMSGSIZE (Zero or more than one buffer passed or invalid size of buffer) * - -EFAULT (It was not possible to access user space memory area at one *            of the specified addresses.) * - -ENXIO (Invalid CAN interface index - @c 0 is not allowed here - or *           socket not bound or rather bound to all interfaces.) * - -ENETDOWN (Controller is bus-off or in stopped state.) * - -ECOMM (Controller is sleeping) * - -EAGAIN (Cannot transmit without blocking but a non-blocking *            call was requested.) * - -EINTR (Operation was interrupted explicitly or by signal) * - -EBADF (Socket was closed.) * - -ETIMEDOUT (Timeout) * . * @b Note: A successful completion of the function call does not implicate a *          successful transmission of the message. * * @{ */#ifndef _RTCAN_H#define _RTCAN_H#ifdef __KERNEL__#include <linux/net.h>#include <linux/socket.h>#include <linux/if.h>#else  /* !__KERNEL__ */#include <net/if.h>#endif /* !__KERNEL__ */#include <rtdm/rtdm.h>#ifndef AF_CAN/** CAN address family */#define AF_CAN	29/** CAN protocol family */#define PF_CAN	AF_CAN#endif/** Particular CAN protocols * *  Currently only the RAW protocol is supported. */#define CAN_RAW  0/** CAN socket levels * *  Used for @ref Sockopts for the particular protocols. */#define SOL_CAN_RAW 103/** Type of CAN id (see @ref CAN_xxx_MASK and @ref CAN_xxx_FLAG) */typedef uint32_t can_id_t;typedef uint32_t canid_t;/** Type of CAN error mask */typedef can_id_t can_err_mask_t;/*! * @anchor CAN_xxx_MASK @name CAN ID masks * Bit masks for masking CAN IDs * @{ *//** Bit mask for extended CAN IDs */#define CAN_EFF_MASK  0x1FFFFFFF/** Bit mask for standard CAN IDs */#define CAN_SFF_MASK  0x000007FF/** @} *//*! * @anchor CAN_xxx_FLAG @name CAN ID flags * Flags within a CAN ID indicating special CAN frame attributes * @{ */#define CAN_EFF_FLAG  0x80000000 /**< extended frame           */#define CAN_RTR_FLAG  0x40000000 /**< remote transmission flag */#define CAN_ERR_FLAG  0x20000000 /**< error frame (see @ref Errors) *//** @} *//*! * @anchor CAN_PROTO @name CAN protocols * Possible protocols for PF_CAN protocol family * @{ */enum CAN_PROTO {    /** Raw protocol of @c PF_CAN, applicable to socket 	type @c SOCK_RAW */    CAN_PROTO_RAW,    CAN_PROTO_MAX};/** @} */#define CAN_BAUDRATE_UNKNOWN       ((uint32_t)-1)#define CAN_BAUDRATE_UNCONFIGURED  0/**  * Baudrate definition in bits per second  */typedef uint32_t can_baudrate_t;/**  * Supported CAN bit-time types */enum CAN_BITTIME_TYPE {    /** Standard bit-time definition according to Bosch */    CAN_BITTIME_STD,      /** Hardware-specific BTR bit-time definition */    CAN_BITTIME_BTR};/** * See @ref CAN_BITTIME_TYPE */typedef enum CAN_BITTIME_TYPE can_bittime_type_t;/** * Standard bit-time parameters according to Bosch */struct can_bittime_std {    uint32_t brp;        /**< Baud rate prescaler */    uint8_t  prop_seg;   /**< from 1 to 8 */    uint8_t  phase_seg1; /**< from 1 to 8 */    uint8_t  phase_seg2; /**< from 1 to 8 */    uint8_t  sjw:7;      /**< from 1 to 4 */    uint8_t  sam:1;      /**< 1 - enable triple sampling */};/** * Hardware-specific BTR bit-times  */struct can_bittime_btr {    uint8_t  btr0;       /**< Bus timing register 0 */    uint8_t  btr1;       /**< Bus timing register 1 */};/** * Custom CAN bit-time definition */struct can_bittime {    /** Type of bit-time definition */    can_bittime_type_t type;    union {	/** Standard bit-time */        struct can_bittime_std std;	/** Hardware-spcific BTR bit-time */        struct can_bittime_btr btr;    };};/*! * @anchor CAN_MODE @name CAN operation modes * Modes into which CAN controllers can be set * @{ */enum CAN_MODE {    /** Set controller in Stop mode (no reception / transmission possible) */    CAN_MODE_STOP = 0,    /*! Set controller into normal operation. @n     *  Coming from stopped mode or bus off, the controller begins with no

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美色电影| 欧美国产精品中文字幕| 91蜜桃网址入口| 成人久久18免费网站麻豆| 国产一区二区三区在线看麻豆| 日本va欧美va精品| 免费精品视频最新在线| 韩日av一区二区| 国产福利一区二区| 99久久er热在这里只有精品15 | 99这里只有精品| 成人激情动漫在线观看| www.欧美日韩| 欧美日韩情趣电影| 26uuuu精品一区二区| 国产精品五月天| 亚洲图片欧美一区| 免费日韩伦理电影| 成人精品视频.| 欧美精品成人一区二区三区四区| 777午夜精品视频在线播放| 欧美精品一区二区三区高清aⅴ | 精品国产电影一区二区| 国产三级精品视频| 亚洲综合激情另类小说区| 午夜精品久久久久久久久| 精品一区二区三区久久久| 成人av电影在线| 337p亚洲精品色噜噜| 久久久亚洲高清| 樱桃国产成人精品视频| 久久99精品国产.久久久久久 | 欧美另类久久久品| 久久久久久一二三区| 亚洲一区二区三区爽爽爽爽爽 | 国产精品三级久久久久三级| 一区二区三区在线观看视频| 韩国视频一区二区| 色香蕉成人二区免费| 久久久久久久一区| 亚洲国产成人91porn| 国产99一区视频免费| 7777精品伊人久久久大香线蕉 | 精品电影一区二区三区| 亚洲人成小说网站色在线| 激情小说欧美图片| 在线观看日韩精品| 国产精品色哟哟| 黄色成人免费在线| 欧美一级精品大片| 亚洲成人av一区二区三区| www.99精品| 中文字幕不卡三区| 国产在线精品免费| 日韩欧美色电影| 图片区小说区国产精品视频| 一本一道久久a久久精品综合蜜臀| 日韩欧美一二三四区| 亚洲一区二区三区在线看| 国产69精品久久777的优势| 精品成人一区二区三区四区| 天天影视色香欲综合网老头| 色婷婷精品大在线视频| 中文字幕一区二区三区不卡在线| 国产一区福利在线| 欧美精品一区二区精品网| 久久国产人妖系列| 精品国产一区二区三区忘忧草| 日本特黄久久久高潮| 91精品国产福利| 蜜臀av性久久久久蜜臀aⅴ四虎| 欧美日韩一卡二卡三卡| 水野朝阳av一区二区三区| 欧美日韩亚洲综合| 爽好久久久欧美精品| 欧美美女直播网站| 久久精品国产免费看久久精品| 欧美一区二区三区免费观看视频| 午夜成人在线视频| 欧美一区二区网站| 另类中文字幕网| 久久久久久久久蜜桃| 高清日韩电视剧大全免费| 国产精品成人免费| 在线观看日韩毛片| 欧美a级理论片| 中文字幕欧美区| 一本色道久久综合亚洲91| 亚洲在线视频一区| 日韩欧美中文字幕一区| 国产乱码精品一区二区三区五月婷| 久久久无码精品亚洲日韩按摩| 成人激情视频网站| 亚洲图片欧美一区| 久久嫩草精品久久久精品一| 成人精品一区二区三区中文字幕| 亚洲人xxxx| 日韩三级免费观看| 99这里都是精品| 日产欧产美韩系列久久99| 久久精品一区二区三区av| 97精品超碰一区二区三区| 日韩精品一二三四| 国产日韩欧美制服另类| 欧美日韩久久一区二区| 国产一区二区精品久久| 亚洲自拍偷拍综合| 久久午夜羞羞影院免费观看| 91成人免费网站| 国产毛片精品国产一区二区三区| 国产精品福利电影一区二区三区四区 | 蜜臀久久久久久久| 成人免费一区二区三区在线观看| 69成人精品免费视频| 成人免费高清视频在线观看| 三级成人在线视频| 中文字幕一区二区三区在线播放| 欧美一区二区大片| 91丨porny丨国产入口| 国产在线视频不卡二| 亚洲激情图片一区| 国产精品三级av在线播放| 欧美大黄免费观看| 欧美日韩久久久| 一本一道波多野结衣一区二区| 国产真实精品久久二三区| 香蕉成人啪国产精品视频综合网| 国产日产亚洲精品系列| 精品国产髙清在线看国产毛片| 欧美日韩黄视频| 日本久久电影网| 成人精品电影在线观看| 国产高清在线精品| 久久国产日韩欧美精品| 青娱乐精品在线视频| 亚洲成人免费影院| 一区二区在线观看免费| 中文字幕在线一区免费| 国产日韩欧美精品在线| 久久综合久久综合久久| 精品区一区二区| 精品女同一区二区| 日韩视频一区二区在线观看| 欧美精品高清视频| 欧美区视频在线观看| 欧美三级韩国三级日本三斤| 色呦呦一区二区三区| 色妞www精品视频| 色综合亚洲欧洲| 日本道免费精品一区二区三区| 99精品在线免费| 91精品福利视频| 在线观看亚洲a| 91精品国产综合久久婷婷香蕉| 欧美老肥妇做.爰bbww视频| 欧美日韩你懂得| 日韩视频永久免费| 国产亚洲一区二区三区四区 | 久久亚洲影视婷婷| 久久久精品国产免费观看同学| 久久新电视剧免费观看| 久久精品亚洲一区二区三区浴池| 精品久久久久久久一区二区蜜臀| 精品入口麻豆88视频| 国产午夜亚洲精品理论片色戒| 久久久99久久| 亚洲黄一区二区三区| 亚洲国产成人av| 久久av老司机精品网站导航| 国产精品911| 91黄视频在线观看| 日韩亚洲欧美成人一区| 国产午夜亚洲精品理论片色戒| **欧美大码日韩| 亚洲18色成人| 午夜精品久久久久久不卡8050| 日日摸夜夜添夜夜添亚洲女人| 国产一区二区免费看| 91福利社在线观看| 精品久久久久久无| 国产精品国产成人国产三级 | 最近日韩中文字幕| 亚洲va天堂va国产va久| 国产一区二区三区免费观看| 99久久精品免费看国产免费软件| 欧美日韩国产精选| 欧美激情一区二区三区不卡 | 国产白丝网站精品污在线入口| 色综合咪咪久久| 日韩精品中午字幕| 国产精品国产三级国产专播品爱网 | 一区二区三区中文在线观看| 日本不卡不码高清免费观看| 成人黄色a**站在线观看| 91精品婷婷国产综合久久竹菊| 国产精品你懂的| 国产在线精品一区二区不卡了 | 国产成人在线免费观看| 欧美在线视频日韩| 日本一区二区视频在线|