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

📄 irnet_ppp.h

📁 linux-2.6.15.6
💻 H
字号:
/* *	IrNET protocol module : Synchronous PPP over an IrDA socket. * *		Jean II - HPL `00 - <jt@hpl.hp.com> * * This file contains all definitions and declarations necessary for the * PPP part of the IrNET module. * This file is a private header, so other modules don't want to know * what's in there... */#ifndef IRNET_PPP_H#define IRNET_PPP_H/***************************** INCLUDES *****************************/#include "irnet.h"		/* Module global include *//************************ CONSTANTS & MACROS ************************//* /dev/irnet file constants */#define IRNET_MAJOR	10	/* Misc range */#define IRNET_MINOR	187	/* Official allocation *//* IrNET control channel stuff */#define IRNET_MAX_COMMAND	256	/* Max length of a command line *//* PPP hardcore stuff *//* Bits in rbits (PPP flags in irnet struct) */#define SC_RCV_BITS	(SC_RCV_B7_1|SC_RCV_B7_0|SC_RCV_ODDP|SC_RCV_EVNP)/* Bit numbers in busy */#define XMIT_BUSY	0#define RECV_BUSY	1#define XMIT_WAKEUP	2#define XMIT_FULL	3/* Queue management */#define PPPSYNC_MAX_RQLEN	32	/* arbitrary *//****************************** TYPES ******************************//**************************** PROTOTYPES ****************************//* ----------------------- CONTROL CHANNEL ----------------------- */static inline ssize_t	irnet_ctrl_write(irnet_socket *,			 const char *,			 size_t);static inline ssize_t	irnet_ctrl_read(irnet_socket *,			struct file *,			char *,			size_t);static inline unsigned int	irnet_ctrl_poll(irnet_socket *,			struct file *,			poll_table *);/* ----------------------- CHARACTER DEVICE ----------------------- */static int	dev_irnet_open(struct inode *,	/* fs callback : open */		       struct file *),	dev_irnet_close(struct inode *,			struct file *);static ssize_t	dev_irnet_write(struct file *,			const char __user *,			size_t,			loff_t *),	dev_irnet_read(struct file *,		       char __user *,		       size_t,		       loff_t *);static unsigned int	dev_irnet_poll(struct file *,		       poll_table *);static int	dev_irnet_ioctl(struct inode *,			struct file *,			unsigned int,			unsigned long);/* ------------------------ PPP INTERFACE ------------------------ */static inline struct sk_buff *	irnet_prepare_skb(irnet_socket *,			  struct sk_buff *);static int	ppp_irnet_send(struct ppp_channel *,		      struct sk_buff *);static int	ppp_irnet_ioctl(struct ppp_channel *,			unsigned int,			unsigned long);/**************************** VARIABLES ****************************//* Filesystem callbacks (to call us) */static struct file_operations irnet_device_fops ={	.owner		= THIS_MODULE,	.read		= dev_irnet_read,	.write		= dev_irnet_write,	.poll		= dev_irnet_poll,	.ioctl		= dev_irnet_ioctl,	.open		= dev_irnet_open,	.release	= dev_irnet_close  /* Also : llseek, readdir, mmap, flush, fsync, fasync, lock, readv, writev */};/* Structure so that the misc major (drivers/char/misc.c) take care of us... */static struct miscdevice irnet_misc_device ={	IRNET_MINOR,	"irnet",	&irnet_device_fops};#endif /* IRNET_PPP_H */

⌨️ 快捷键说明

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