sbscan.h
来自「盛博can驱动程序功能很全」· C头文件 代码 · 共 78 行
H
78 行
#ifndef _SBSCAN_H_
#define _SBSCAN_H_
#include <linux/types.h>
#include <sys/ioctl.h>
enum pat {S,E};
enum IRQV {IRQ15,IRQ7,IRQ5,IRQ3};
enum fil {SINGLE,DOUBLE};
enum lis {LON,LOFF};
enum tes {TON,TOFF};
enum sle {SON,SOFF};
enum bau {B1000,B800,B500,B320,B250,B160,B80,B40,B20,B10,B5};
struct CAN_frame{
__u8 ff;
__u8 id1;
__u8 id2;
__u8 id3;
__u8 id4;
__u8 data[8];
} __attribute__ ((packed));
typedef struct _filter_struct
{
__u8 code1;
__u8 code2;
__u8 code3;
__u8 code4;
__u8 mask1;
__u8 mask2;
__u8 mask3;
__u8 mask4;
} filter_struct;
typedef struct _err_cap_struct
{
__u8 code;
__u8 pos;
} err_cap_struct;
typedef struct _arb_cap_struct
{
__u8 code;
__u8 pos;
} arb_cap_struct;
#define CAN_IOC_MAGIC 'k'
#define CAN_IOCRESET _IO(CAN_IOC_MAGIC,0)
#define CAN_SET_NOBLOCKDELAY _IOW(CAN_IOC_MAGIC,1,int)
#define CAN_SET_TRIGLEVEL _IOW(CAN_IOC_MAGIC,2,int)
#define CAN_SET_BAUDRATE _IOW(CAN_IOC_MAGIC,3,enum bau)
#define CAN_SET_AFM _IOW(CAN_IOC_MAGIC,4,int)
#define CAN_SET_LOM _IOW(CAN_IOC_MAGIC,5,int)
#define CAN_SET_SM _IOW(CAN_IOC_MAGIC,6,int)
#define CAN_SET_STM _IOW(CAN_IOC_MAGIC,7,int)
#define CAN_SET_FILTER _IOW(CAN_IOC_MAGIC,8,filter_struct *)
#define CAN_SET_FILTER1 _IOW(CAN_IOC_MAGIC,9,filter_struct *)
#define CAN_SET_FILTER2 _IOW(CAN_IOC_MAGIC,10,filter_struct *)
#define CAN_GET_STATUS _IOR(CAN_IOC_MAGIC,11,int)
#define CAN_GET_MODE _IOR(CAN_IOC_MAGIC,12,int)
#define CAN_GET_FILTER _IOR(CAN_IOC_MAGIC,13,filter)
#define CAN_GET_ERRCOUNT _IOR(CAN_IOC_MAGIC,14,int)
#define CAN_GET_ERRCAPTURE _IOR(CAN_IOC_MAGIC,15,err_cap_struct *)
#define CAN_GET_BAUDRATE _IOR(CAN_IOC_MAGIC,16,enum bau)
#define CAN_GET_ARBCOUNT _IOR(CAN_IOC_MAGIC,17,int)
#define CAN_GET_ARBCAPTURE _IOR(CAN_IOC_MAGIC,18,arb_cap_struct *)
#define CAN_RESET _IO(CAN_IOC_MAGIC, 19)
#define CAN_SET_DELAY _IOW(CAN_IOC_MAGIC, 20,int)
#define CAN_IOC_MAXNR 21
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?