⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ul_fd4indir.h

📁 一个linux下rs485驱动程序的源代码
💻 H
字号:
#ifndef _UL_FD_H#define _UL_FD_H#define WITH_UL_FD_INDIRECT#include <stdint.h>#include <ul_lib/ul_fddir.h>#ifdef __cplusplusextern "C" {#endif#ifndef UL_OFFSETOF/* offset of structure field */#define UL_OFFSETOF(_type,_member) \                ((int)&(((_type*)0)->_member))#endif /*UL_OFFSET*/#ifndef UL_CONTAINEROF#ifdef  __GNUC__#define UL_CONTAINEROF(_ptr, _type, _member) ({ \        const typeof( ((_type *)0)->_member ) *__mptr = (_ptr); \        (_type *)( (char *)__mptr - UL_OFFSETOF(_type,_member) );})#else /*!__GNUC__*/#define UL_CONTAINEROF(_ptr, _type, _member) \        ((_type *)( (char *)_ptr - UL_OFFSETOF(_type,_member)))#endif /*__GNUC__*/#endif /*UL_CONTAINEROF*/typedef struct ul_fd_context_t *ul_fd_t;#define UL_FD_INVALID (NULL)typedef struct ul_fd_ops_t {  const char *ops_name;  int (*ulop_namematch)(const char *dev_name);  ul_fd_t (*ulop_open)(const char *dev_name, const char *options);  int (*ulop_close)(ul_fd_t ul_fd);  int (*ulop_drv_version)(ul_fd_t ul_fd);  ssize_t (*ulop_read)(ul_fd_t ul_fd, void *buffer, size_t size);  ssize_t (*ulop_write)(ul_fd_t ul_fd, const void *buffer, size_t size);  int (*ulop_newmsg)(ul_fd_t ul_fd,const ul_msginfo *msginfo);  int (*ulop_tailmsg)(ul_fd_t ul_fd,const ul_msginfo *msginfo);  int (*ulop_freemsg)(ul_fd_t ul_fd);  int (*ulop_acceptmsg)(ul_fd_t ul_fd,ul_msginfo *msginfo);  int (*ulop_actailmsg)(ul_fd_t ul_fd,ul_msginfo *msginfo);  int (*ulop_addfilt)(ul_fd_t ul_fd,const ul_msginfo *msginfo);  int (*ulop_abortmsg)(ul_fd_t ul_fd);  int (*ulop_rewmsg)(ul_fd_t ul_fd);  int (*ulop_inepoll)(ul_fd_t ul_fd);  int (*ulop_drv_debflg)(ul_fd_t ul_fd,int debug_msk);  int (*ulop_fd_wait)(ul_fd_t ul_fd, int wait_sec);  ul_fd_direct_t (*ulop_fd2sys_fd)(ul_fd_t ul_fd);  int (*ulop_setmyadr)(ul_fd_t ul_fd, int newmyadr);  int (*ulop_setidstr)(ul_fd_t ul_fd, const char *idstr);  int (*ulop_setbaudrate)(ul_fd_t ul_fd, int baudrate);} ul_fd_ops_t;typedef struct ul_fd_context_t {  ul_fd_ops_t *fd_ops;} ul_fd_context_t;int ul_fd_ops_register(ul_fd_ops_t *fd_ops);inline ul_fd_direct_t ul_fd2sys_fd(ul_fd_t fd);#ifdef __cplusplus} /* extern "C"*/#endif#endif /*_UL_FD_H*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -