📄 sbscan.h
字号:
#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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -