📄 lint.h
字号:
/***************************************************************************
*
* Copyright (C) 2004-2005 SMSC
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
***************************************************************************
* Additionally it deserves noting that the everything in this file is
* for the purpose of making the lint tool happy. Therefore everything
* declared or defined in this file has been thoroughly customized. It
* is not suitable to be use as a reference nor compatible for any
* other purpose.
* For proper declarations and definitions see the linux source code.
***************************************************************************
* File: lint.h
*/
#ifndef LINT_H
#define LINT_H
/**************************************************************************SHARED*****************************************************************************************/
#define IFNAMSIZ (10)#define SIOCDEVPRIVATE (10000UL)struct ifreq {//#define IFHWADDRLEN 6//#define IFNAMSIZ 16#ifdef CMD911X union { char ifrn_name[IFNAMSIZ]; /* if name, e.g. "en0" */ } ifr_ifrn;#endif union {// struct sockaddr ifru_addr;// struct sockaddr ifru_dstaddr;// struct sockaddr ifru_broadaddr;// struct sockaddr ifru_netmask;// struct sockaddr ifru_hwaddr;// short ifru_flags;// int ifru_ivalue;// int ifru_mtu;// struct ifmap ifru_map;// char ifru_slave[IFNAMSIZ]; /* Just fits the size */// char ifru_newname[IFNAMSIZ]; char * ifru_data;// struct if_settings ifru_settings; } ifr_ifru;};#define ifr_data ifr_ifru.ifru_data /* for use by interface */#define ifr_name ifr_ifrn.ifrn_name /* interface name */
#define NULL ((void *)(0))extern void memset(void *__s, int __c, unsigned int __count);extern void memcpy(void *a,const void * b,unsigned int c);extern void sprintf(char * a,const char * b,...);extern void strcpy(signed char * s,const signed char * s);/***********************************************************************DRIVER ONLY*************************************************************************************************/#ifndef CMD911X#define LINUX_VERSION_CODE 132113#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))
//typedef void irqreturn_t;
//#define IRQ_NONE
//#define IRQ_HANDLED
//#define IRQ_RETVAL(x)
//typedef long TIME_SPAN;
//#define MAX_TIME_SPAN ((TIME_SPAN)(0x7FFFFFFFUL))
//typedef unsigned long DWORD;
//typedef unsigned short WORD;
//typedef unsigned char BYTE;
//typedef unsigned char BOOLEAN;
//#define TRUE ((BOOLEAN)1)
//#define FALSE ((BOOLEAN)0)
//
//#define HIBYTE(word) ((BYTE)(((WORD)(word))>>8))
//#define LOBYTE(word) ((BYTE)(((WORD)(word))&0x00FFU))
//#define HIWORD(dWord) ((WORD)(((DWORD)(dWord))>>16))
//#define LOWORD(dWord) ((WORD)(((DWORD)(dWord))&0x0000FFFFUL))
typedef unsigned long spinlock_t;
typedef unsigned long ULONG;
typedef unsigned char UCHAR;
//extern void SMSC_TRACE(const char * a,...);//extern void SMSC_WARNING(const char * a,...);//extern void SMSC_ASSERT(BOOLEAN condition);
//#define TRANSFER_PIO ((DWORD)256)
//#define TRANSFER_REQUEST_DMA ((DWORD)255)
//DMA Transfer structure
//typedef struct _DMA_XFER
//{
// DWORD dwLanReg;
// DWORD *pdwBuf;
// DWORD dwDmaCh;
// DWORD dwDwCnt;
// BOOLEAN fMemWr;
//} DMA_XFER, *PDMA_XFER;
//
//typedef struct _FLOW_CONTROL_PARAMETERS
//{
// DWORD MaxThroughput;
// DWORD MaxPacketCount;
// DWORD PacketCost;
// DWORD BurstPeriod;
// DWORD IntDeas;
//} FLOW_CONTROL_PARAMETERS, *PFLOW_CONTROL_PARAMETERS;struct net_device_stats{ ULONG rx_packets; ULONG tx_packets; ULONG rx_bytes; ULONG tx_bytes; ULONG rx_errors; ULONG tx_errors; ULONG rx_dropped; ULONG multicast; ULONG collisions; ULONG rx_length_errors; ULONG rx_crc_errors; ULONG tx_aborted_errors; ULONG tx_carrier_errors;};
struct timer_list { ULONG expires; ULONG data; void (*function)(ULONG param);};
#define MODULE_PARM(var,type) \const char __module_parm_##var[] = type#define MODULE_PARM_DESC(var,desc) \const char __module_parm_desc_##var[] = desc#define MODULE_LICENSE(license) \static const char __module_license[] =license#define MOD_INC_USE_COUNT do { } while (0)#define MOD_DEC_USE_COUNT do { } while (0)
#define MAX_ADDR_LEN (6)
struct dev_mc_list{ struct dev_mc_list *next; UCHAR dmi_addr[MAX_ADDR_LEN]; UCHAR dmi_addrlen;};struct net_device{ char name[IFNAMSIZ]; struct net_device_stats* (*get_stats)(struct net_device *dev); unsigned short flags;// spinlock_t xmit_lock; void * priv; UCHAR dev_addr[MAX_ADDR_LEN]; struct dev_mc_list * mc_list; int mc_count;// int (*init)(struct net_device *dev); int (*open)(struct net_device *dev); int (*stop)(struct net_device *dev); int (*hard_start_xmit) (struct sk_buff *skb,struct net_device *dev); void (*set_multicast_list)(struct net_device *dev);
int (*do_ioctl)(struct net_device *dev, struct ifreq *ifr,int cmd);};struct mii_ioctl_data { ULONG phy_id; ULONG reg_num; ULONG val_in; ULONG val_out;};#define SIOCGMIIPHY (1000UL)#define SIOCGMIIREG (1001UL)#define SIOCSMIIREG (1002UL)struct sk_buff { struct net_device *dev; unsigned int len; unsigned char ip_summed; unsigned short protocol; unsigned char *head; unsigned char *data; unsigned char *tail;};struct tasklet_struct{ struct tasklet_struct *next; unsigned long state; unsigned long count; void (*func)(unsigned long param); unsigned long data;};#define DECLARE_TASKLET(name, func, data) \struct tasklet_struct name = { NULL, 0, 0, func, data }extern struct sk_buff *dev_alloc_skb(unsigned int length);extern unsigned short eth_type_trans(struct sk_buff *skb, struct net_device *dev);extern void netif_carrier_on(struct net_device *dev);extern void netif_carrier_off(struct net_device *dev);extern int netif_rx(struct sk_buff *skb);extern void netif_start_queue(struct net_device *dev);extern void netif_wake_queue(struct net_device *dev);extern void netif_stop_queue(struct net_device *dev);extern void free_irq(unsigned int Irq, void *isr);extern int check_mem_region(unsigned long a, unsigned long b);extern void release_mem_region(unsigned long a, unsigned long b);extern void tasklet_schedule(struct tasklet_struct *t);extern void del_timer_sync(struct timer_list * timer);extern void init_timer(struct timer_list * timer);extern void ether_setup(struct net_device *dev);extern int register_netdev(struct net_device *dev);extern void add_timer(struct timer_list * timer);extern void spin_lock(spinlock_t *s);extern void spin_unlock(spinlock_t *s);extern void spin_lock_init(spinlock_t *s);extern void spin_lock_irqsave(spinlock_t *s,unsigned long f);extern void spin_unlock_irqrestore(spinlock_t *s,unsigned long f);extern void unregister_netdev(struct net_device *dev);extern void udelay(unsigned long usecs);#define SET_MODULE_OWNER(some_struct) do { } while (0)extern void request_mem_region(unsigned long start, unsigned long n, const signed char *name);extern int request_irq(unsigned int a, void (*handler)(int a, void * b, struct pt_regs * c), unsigned long c, const signed char * d, void * e);extern void dev_kfree_skb(struct sk_buff *skb);extern void skb_reserve(struct sk_buff *skb, unsigned int len);extern void skb_put(struct sk_buff *skb, unsigned int len);#define NET_RX_SUCCESS 0#define NET_RX_DROP 1#define NET_RX_CN_LOW 2#define NET_RX_CN_MOD 3#define NET_RX_CN_HIGH 4#define CHECKSUM_NONE 0#define ENOMEM 12#define EFAULT 14#define ENODEV 19#define GFP_KERNEL (1)#define IFF_MULTICAST (1U)#define IFF_PROMISC (2U)#define IFF_ALLMULTI (4U)#define SA_INTERRUPT 0x20000000 extern void *kmalloc(unsigned int a, int b);extern void kfree(const void *a);extern unsigned long volatile jiffies;#define HZ 100
#endif //not CMD911X
/*******************************************************
*************XSCALE DRIVER******************************
*******************************************************/
#ifdef USE_XSCALE
#define MST_EXP_BASE (0x80000000UL)
#define MST_EXP_PHYS (0x00000005UL)
#define MSC2 (*((volatile unsigned long *)(0x48000000UL)))
#define MAINSTONE_nExBRD_IRQ (50UL)
#define DCSR_RUN (1UL)
#define DCSR_STOPSTATE (2UL)
#define DCSR_NODESC (4UL)
#define DCMD_INCTRGADDR (1UL)
#define DCMD_INCSRCADDR (2UL)
#define DCMD_BURST32 (4UL)
#define DCMD_LENGTH (8UL)
#define DCSR(dmaCh) (*((volatile unsigned long *)(0x40000000UL+dmaCh)))
#define DTADR(dmaCh) (*((volatile unsigned long *)(0x40000000UL+dmaCh)))
#define DSADR(dmaCh) (*((volatile unsigned long *)(0x40000000UL+dmaCh)))
#define DCMD(dmaCh) (*((volatile unsigned long *)(0x40000000UL+dmaCh)))
extern unsigned long virt_to_bus(unsigned long arg);
#endif //USE_XSCALE
/**********************************************************************PEAKS DRIVER***************************************************************************************/#if (defined(USE_PEAKS)||defined(USE_PEAKS_LITE))struct hw_interrupt_type { const char * typename; unsigned int (*startup)(unsigned int irq); void (*shutdown)(unsigned int irq); void (*enable)(unsigned int irq); void (*disable)(unsigned int irq); void (*ack)(unsigned int irq); void (*end)(unsigned int irq); void (*set_affinity)(unsigned int irq, unsigned long mask);};
#define Gicr(arg) (*(volatile WORD *)(arg))
typedef struct _IRQ_TYPE {
struct hw_interrupt_type *handler;
} IRQ_TYPE, * PIRQ_TYPE;
PIRQ_TYPE irq_desc=NULL;
extern void purge_cache(unsigned long arg1,unsigned long arg2,unsigned long arg3);
#endif //USE_PEAKS or USE_PEAKS_LITE
/**********************************************************
***************COMMAND APPLICATION*************************
**********************************************************/
#ifdef CMD911X
#define AF_INET (0)
#define SOCK_DGRAM (0)struct in_addr { unsigned long s_addr;};#define INADDR_ANY (0xFFFFFFFFUL)struct sockaddr_in { unsigned short int sin_family; /* Address family */ unsigned short int sin_port; /* Port number */ struct in_addr sin_addr; /* Internet address */ /* Pad to size of `struct sockaddr'. */// unsigned char __pad[__SOCK_SIZE__ - sizeof(short int) -// sizeof(unsigned short int) - sizeof(struct in_addr)];};struct sockaddr { unsigned short int sa_family; /* Address family */// unsigned short int sin_port; /* Port number */// struct in_addr sin_addr; /* Internet address */ /* Pad to size of `struct sockaddr'. */// unsigned char __pad[__SOCK_SIZE__ - sizeof(short int) -// sizeof(unsigned short int) - sizeof(struct in_addr)];};
#define SOCK_STREAM (1)
#define SOL_SOCKET (2)
#define SO_REUSEADDR (3)
#define FILE void
extern void * fopen(const char * fileName,const char * mode);
extern void * stdin;
extern void * stderr;
extern const char * optarg;extern void printf(const char * b,...);extern int recv(int sock,unsigned char *ch,int a,int b);extern int send(int sock,unsigned char *ch,int a,int b);extern unsigned int inet_addr(const char * hostname);extern int socket(int a,int b,int c);extern void close(int a);extern int fork(void);extern int system(const char * command);extern void fclose(void *);extern void strncpy(char * a, const char *b, int c);extern void perror(char * c);extern unsigned short htons(unsigned short a);extern void sleep(int s);extern void exit(int x);extern int sscanf(const char *a,char *b,...);extern int accept(int a,struct sockaddr *b,int *c);extern int listen(int a,int b);extern int strcmp(const char *a,const char *b);extern int bind(int a,struct sockaddr *b,int c);extern int connect(int a,struct sockaddr *b,int c);extern int fread(char *a,int b,int c,void *d);extern void ioctl(int a,int b,struct ifreq *c);extern int getopt(int a,char **b,char *c);extern int setsockopt(int a,int b,int c,char *d,int e);extern void setsid(void);
#endif //CMD911X
#endif //LINT_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -