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

📄 serial_16550.h

📁 这个vivi的功能很丰富
💻 H
字号:
#include <types.h>

/* * The type definitions.  These are from Ted Ts'o's serial.h */#define PORT_UNKNOWN	0#define PORT_8250	1#define PORT_16450	2#define PORT_16550	3#define PORT_16550A	4#define PORT_CIRRUS	5#define PORT_16650	6#define PORT_16650V2	7#define PORT_16750	8#define PORT_STARTECH	9#define PORT_16C950	10#define PORT_16654	11#define PORT_16850	12#define PORT_RSA	13#define PORT_MAX_8250	13	/* max port ID */

#define SERIAL_IO_PORT	0#define SERIAL_IO_HUB6	1#define SERIAL_IO_MEM	2

struct serial_uart_config {	char	*name;	int	dfl_xmit_fifo_size;	int	flags;};

#define UART_CLEAR_FIFO		0x01#define UART_USE_FIFO		0x02#define UART_STARTECH		0x04

/* * Definitions for async_struct (and serial_struct) flags field */#define ASYNC_HUP_NOTIFY 0x0001 /* Notify getty on hangups and closes 				   on the callout port */#define ASYNC_FOURPORT  0x0002	/* Set OU1, OUT2 per AST Fourport settings */#define ASYNC_SAK	0x0004	/* Secure Attention Key (Orange book) */#define ASYNC_SPLIT_TERMIOS 0x0008 /* Separate termios for dialin/callout */#define ASYNC_SPD_MASK	0x1030#define ASYNC_SPD_HI	0x0010	/* Use 56000 instead of 38400 bps */#define ASYNC_SPD_VHI	0x0020  /* Use 115200 instead of 38400 bps */#define ASYNC_SPD_CUST	0x0030  /* Use user-specified divisor */#define ASYNC_SKIP_TEST	0x0040 /* Skip UART test during autoconfiguration */#define ASYNC_AUTO_IRQ  0x0080 /* Do automatic IRQ during autoconfiguration */#define ASYNC_SESSION_LOCKOUT 0x0100 /* Lock out cua opens based on session */#define ASYNC_PGRP_LOCKOUT    0x0200 /* Lock out cua opens based on pgrp */#define ASYNC_CALLOUT_NOHUP   0x0400 /* Don't do hangups for cua device */#define ASYNC_HARDPPS_CD	0x0800	/* Call hardpps when CD goes high  */#define ASYNC_SPD_SHI	0x1000	/* Use 230400 instead of 38400 bps */#define ASYNC_SPD_WARP	0x1010	/* Use 460800 instead of 38400 bps */#define ASYNC_LOW_LATENCY 0x2000 /* Request low latency behaviour */#define ASYNC_BUGGY_UART  0x4000 /* This is a buggy UART, skip some safety				  * checks.  Note: can be dangerous! */#define ASYNC_AUTOPROBE	 0x8000 /* Port was autoprobed by PCI or PNP code */#define ASYNC_FLAGS	0x7FFF	/* Possible legal async flags */#define ASYNC_USR_MASK	0x3430	/* Legal flags that non-privileged				 * users can set or reset *//* Internal flags used only by kernel/chr_drv/serial.c */#define ASYNC_INITIALIZED	0x80000000 /* Serial port was initialized */#define ASYNC_CALLOUT_ACTIVE	0x40000000 /* Call out device is active */#define ASYNC_NORMAL_ACTIVE	0x20000000 /* Normal device is active */#define ASYNC_BOOT_AUTOCONF	0x10000000 /* Autoconfigure port on bootup */#define ASYNC_CLOSING		0x08000000 /* Serial port is closing */#define ASYNC_CTS_FLOW		0x04000000 /* Do CTS flow control */#define ASYNC_CHECK_CD		0x02000000 /* i.e., CLOCAL */#define ASYNC_SHARE_IRQ		0x01000000 /* for multifunction cards					     --- no longer used */#define ASYNC_CONS_FLOW		0x00800000 /* flow control for console  */#define ASYNC_BOOT_ONLYMCA	0x00400000 /* Probe only if MCA bus */#define ASYNC_INTERNAL_FLAGS	0xFFC00000 /* Internal flags */

struct uart_port {	u_int			iobase;			/* in/out[bwl] */	void			*membase;		/* read/write[bwl] */	u_int			irq;	u_int			uartclk;	u_char			fifosize;		/* tx fifo size */	u_char			x_char;	u_char			regshift;		/* reg offset shift */	u_char			iotype;			/* io access style */	u_char			hub6;	u_char			unused[7];	u_int			read_status_mask;	u_int			ignore_status_mask;	u_int			flags;	u_int			type;			/* port type */	u_int			line;};

⌨️ 快捷键说明

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