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

📄 defs.h

📁 can4linux-3.5.3.gz can4 linux
💻 H
📖 第 1 页 / 共 2 页
字号:
# define STD_MASK		0xFFFFFFFF # include "sja1000.h"#elif defined(CPC104)# define CAN_OUTC_VAL           0xda# define IO_MODEL		'm'# define STD_MASK		0xFFFFFFFF # include "sja1000.h"#elif defined(CPC_PCM_104)  /* dual board configuration */  /* fortunately both boards use the same settings */# define CAN_OUTC_VAL           0xda# define IO_MODEL		'm'# define STD_MASK		0xFFFFFFFF # include "sja1000.h"#elif defined(CCPC104)# define CAN_OUTC_VAL           0xfa# define IO_MODEL		'm'# define STD_MASK		0xFFFFFFFF # include "sja1000.h"#elif defined(MMC_SJA1000)# define CAN_OUTC_VAL           0xfa# define IO_MODEL		'i'# define STD_MASK		0xFFFFFFFF # define CAN_IRQ_PIN		AT91_PIN_PC12# include "sja1000.h"# include "mmc.h"# include <linux/platform_device.h># include <asm/gpio.h>extern void init_mmc_hw(void);extern void board_clear_interrupts(int minor);#elif defined(MCF5282)# define CAN_OUTC_VAL           0x5e# define IO_MODEL		'm'# define STD_MASK		0# include "mcf5282.h"/* can_mcf5282funcs.c */void mcf_irqreset(void);void mcf_irqsetup(void);#elif defined(AD_BLACKFIN)# define CAN_OUTC_VAL           0x00# define IO_MODEL		'm'# define STD_MASK		0# include "bf537.h"#elif defined(ATMEL_SAM9)# define CAN_OUTC_VAL           0x00# define IO_MODEL		'm'# define STD_MASK		0# include "at9263.h"#elif defined(VCMA9)# define CAN_OUTC_VAL           0x1a# define IO_MODEL		'm'# define STD_MASK		0xFFFFFFFF # include "sja1000.h"#elif defined(SSV_MCP2515)# define IO_MODEL		's'# define CAN_OUTC_VAL           0x00# define STD_MASK		0x00000000 #include <linux/platform_device.h>#include <linux/spi/spi.h>#include <asm/gpio.h># include "mcp251x.h"# include "mcp2515.h"extern struct spi_driver mcp251x_can_driver;extern int loopback;extern int enable_can_dma;#else # define CAN_OUTC_VAL           0x00# define IO_MODEL		'm'# define STD_MASK		0xFFFFFFFF # include "sja1000.h"/* #error no CAN_OUTC_VAL */#endif/************************************************************************/#include "can4linux.h"/************************************************************************/ /* extern volatile int irq2minormap[]; */ /* extern volatile int irq2pidmap[]; */extern upointer_t Can_pitapci_control[];extern struct	pci_dev *Can_pcidev[];/* number of supported CAN channels */#ifndef MAX_CHANNELS# define MAX_CHANNELS 4#endif/* number of processes allowed to open a CAN channel */#ifndef CAN_MAX_OPEN# define CAN_MAX_OPEN 1#endif#ifndef MAX_BUFSIZE# define MAX_BUFSIZE 256/* #define MAX_BUFSIZE 1000 *//* #define MAX_BUFSIZE 4 */#endif/* highest supported interrupt number */#define MAX_IRQNUMBER	25/* max number of bytes used for the device name in the inode 'can%d' */#define MAXDEVNAMELENGTH 10#define BUF_EMPTY    0#define BUF_OK       1#define BUF_FULL     BUF_OK#define BUF_OVERRUN  2#define BUF_UNDERRUN 3typedef struct {	int head;        int tail;        int status;	int active;	char free[MAX_BUFSIZE];        canmsg_t data[MAX_BUFSIZE]; } msg_fifo_t;struct _instance_data {	int rx_index;	wait_queue_head_t CanRxWait;    };#ifdef CAN_USE_FILTER #define MAX_ID_LENGTH 11 #define MAX_ID_NUMBER (1<<11) typedef struct {	unsigned    use;	unsigned    signo[3];	struct {		unsigned    enable    : 1;		unsigned    timestamp : 1;		unsigned    signal    : 2;		canmsg_t    *rtr_response;	} filter[MAX_ID_NUMBER]; } msg_filter_t; extern msg_filter_t Rx_Filter[];#endifextern msg_fifo_t Tx_Buf[MAX_CHANNELS];extern msg_fifo_t Rx_Buf[MAX_CHANNELS][CAN_MAX_OPEN];extern canmsg_t last_Tx_object[MAX_CHANNELS];    /* used for selfreception of messages */extern atomic_t Can_isopen[MAX_CHANNELS];   /* device minor already opened */#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,18) extern int Can_RequestIrq(int minor, int irq, 	irqreturn_t (*handler)(int, void *));#elseextern int Can_RequestIrq(int minor, int irq, 	irqreturn_t (*handler)(int, void *, struct pt_regs *));#endifextern wait_queue_head_t CanWait[MAX_CHANNELS][CAN_MAX_OPEN];extern wait_queue_head_t CanOutWait[MAX_CHANNELS];extern int CanWaitFlag[MAX_CHANNELS][CAN_MAX_OPEN];extern spinlock_t write_splock[MAX_CHANNELS];extern void __iomem *can_base[];extern unsigned int   can_range[];#endif		/*  __KERNEL__ */extern int IRQ_requested[];extern int Can_minors[];			/* used as IRQ dev_id */extern int selfreception[MAX_CHANNELS][CAN_MAX_OPEN];			/* flag  1 = On */extern int use_timestamp[MAX_CHANNELS];			/* flag  1 = On */extern int wakeup[];				/* flag  1 = On */extern int listenmode;				/* true for listen only *//************************************************************************/#define LDDK_USE_SYSCTL 1#ifdef __KERNEL__#include <linux/sysctl.h>extern ctl_table can_sysctl_table[];/* ------ /proc/sys/Can accessible global variables */extern char version[];extern char Chipset[];extern char IOModel[];extern  int IRQ[];extern  upointer_t Base[];extern  int Baud[];extern  unsigned int AccCode[];extern  unsigned int AccMask[];extern  int Timeout[];extern  int Outc[];extern  int TxErr[];extern  int RxErr[];extern  int Overrun[];extern unsigned int dbgMask;extern  int Cnt1[];extern  int Cnt2[]; enum {	CAN_SYSCTL_VERSION  = 1,	CAN_SYSCTL_CHIPSET  = 2,	CAN_SYSCTL_IOMODEL  = 3,	CAN_SYSCTL_IRQ      = 4,	CAN_SYSCTL_BASE     = 5,	CAN_SYSCTL_BAUD     = 6,	CAN_SYSCTL_ACCCODE  = 7,	CAN_SYSCTL_ACCMASK  = 8,	CAN_SYSCTL_TIMEOUT  = 9,	CAN_SYSCTL_OUTC     = 10,	CAN_SYSCTL_TXERR    = 11,	CAN_SYSCTL_RXERR    = 12,	CAN_SYSCTL_OVERRUN  = 13,	CAN_SYSCTL_DBGMASK  = 14,	CAN_SYSCTL_CNT1     = 15,	CAN_SYSCTL_CNT2     = 16,}; #endif/************************************************************************/#ifndef CAN_MAJOR#define CAN_MAJOR 91#endifextern int Can_errno;#ifdef USE_LDDK_RETURN#define LDDK_RETURN(arg) DBGout();return(arg)#else#define LDDK_RETURN(arg) return(arg)#endif/************************************************************************//* function prototypes *//************************************************************************/extern int CAN_ChipReset(int);extern int CAN_SetTiming(int, int);extern int CAN_StartChip(int);extern int CAN_StopChip(int);extern int CAN_SetMask(int, unsigned int, unsigned int);extern int CAN_SetOMode(int,int);extern int CAN_SetListenOnlyMode(int, int);extern int CAN_SendMessage(int, canmsg_t *);extern int CAN_SetBTR(int, int, int);#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,18) extern irqreturn_t CAN_Interrupt( int irq, void *dev_id);#elseextern irqreturn_t CAN_Interrupt( int irq, void *dev_id, struct pt_regs *);#endifextern int CAN_VendorInit(int);extern int CAN_Release(int);extern void register_systables(void);extern void unregister_systables(void);/* util.c */extern int Can_RxFifoInit(int minor, int fifo);extern int Can_TxFifoInit(int minor);extern int Can_FilterCleanup(int minor);extern int Can_FilterInit(int minor);extern int Can_FilterMessage(int minor, unsigned message, unsigned enable);extern int Can_FilterOnOff(int minor, unsigned on);extern int Can_FilterSigNo(int minor, unsigned signo, unsigned signal);extern int Can_FilterSignal(int minor, unsigned id, unsigned signal);extern int Can_FilterTimestamp(int minor, unsigned message, unsigned stamp);extern int Can_FreeIrq(int minor, int irq );extern int Can_WaitInit(int minor);extern void Can_StartTimer(unsigned long v);extern void Can_StopTimer(void);extern void Can_TimerInterrupt(unsigned long unused);extern void can_dump(int minor);extern void CAN_register_dump(int minor);extern void CAN_object_dump(int minor, int object);extern void print_tty(const char *fmt, ...);extern int controller_available(upointer_t address, int offset);extern int __devinit mcp251x_can_probe(void);extern int __devexit mcp251x_can_remove(void);/* PCI support */extern int pcimod_scan(void);#ifndef pci_pretty_name#define pci_pretty_name(dev) ""#endif/* ---------------------------------------- * * TARGET specific function declarations * * --------------------------------------- *//* can_82c200funcs.c */extern int CAN_ShowStat (int board);/*________________________E_O_F_____________________________________________*/

⌨️ 快捷键说明

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