📄 ul_fd4indir.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 + -