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

📄 divas.h

📁 Linux内核源代码 为压缩文件 是<<Linux内核>>一书中的源代码
💻 H
字号:
/* * * Copyright (C) Eicon Technology Corporation, 2000. * * This source file is supplied for the exclusive use with Eicon * Technology Corporation's range of DIVA Server Adapters. * * Eicon File Revision :    1.5   * * 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, or (at your option) * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY OF ANY KIND WHATSOEVER INCLUDING ANY  * 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., 675 Mass Ave, Cambridge, MA 02139, USA. * *//* External Diva Server driver include file */#if !defined(DIVAS_H)#define DIVAS_H#include "sys.h"/* IOCTL commands */#define	DIA_IOCTL_INIT				(0)#define	DIA_IOCTL_LOAD				(1)#define	DIA_IOCTL_CONFIG			(2)#define	DIA_IOCTL_START				(3)#define	DIA_IOCTL_GET_NUM			(4)#define	DIA_IOCTL_GET_LIST			(5)#define	DIA_IOCTL_LOG				(6)#define	DIA_IOCTL_DETECT			(7)#define	DIA_IOCTL_SPACE				(8)#define DIA_IOCTL_GET_MEM           (9)#define DIA_IOCTL_FLAVOUR			(10)#define	DIA_IOCTL_XLOG_REQ			(11)/* Error codes */#define XLOG_ERR_CARD_NUM	(13)#define XLOG_ERR_DONE		(14)#define XLOG_ERR_CMD		(15)#define XLOG_ERR_TIMEOUT	(16)#define XLOG_ERR_CARD_STATE	(17)#define XLOG_ERR_UNKNOWN	(18)#define XLOG_OK 			(0)/* Adapter states */#define DIA_UNKNOWN		(0)#define DIA_RESET		(1)#define DIA_LOADED		(2)#define DIA_CONFIGURED	(3)#define DIA_RUNNING		(4)/* Stucture for getting card specific information from active cad driver */typedef struct{	int card_type;	int card_slot;	int	state;} dia_card_list_t;/* use following to select which logging to have active */#define	DIVAS_LOG_DEBUG		(1 << 0)#define	DIVAS_LOG_XLOG		(1 << 1)#define	DIVAS_LOG_IDI		(1 << 2)#define	DIVAS_LOG_CAPI		(1 << 3)/* stucture for DIA_IOCTL_LOG to get information from adapter */typedef struct{	int		card_id;	int		log_types;	/* bit mask of log types: use DIVAS_LOG_XXX */} dia_log_t;/* list of cards supported by this driver */#define	DIA_CARD_TYPE_DIVA_SERVER	(0)	/* Diva Server PRI */#define	DIA_CARD_TYPE_DIVA_SERVER_B	(1)	/* Diva Server BRI */#define	DIA_CARD_TYPE_DIVA_SERVER_Q	(2)	/* Diva Server 4-BRI *//* bus types */#define	DIA_BUS_TYPE_ISA		(0)#define	DIA_BUS_TYPE_ISA_PNP	(1)#define	DIA_BUS_TYPE_PCI		(2)#define	DIA_BUS_TYPE_MCA		(3)/* types of memory used (index for memory array below) */#define DIVAS_RAM_MEMORY 	0#define DIVAS_REG_MEMORY 	1#define DIVAS_CFG_MEMORY 	2#define DIVAS_SHARED_MEMORY 3#define DIVAS_CTL_MEMORY	4/* * card config information * passed as parameter to DIA_IOCTL_INIT ioctl to initialise new card */typedef struct{	int		card_id;	/* unique id assigned to this card */	int		card_type;	/* use DIA_CARD_TYPE_xxx above */	int		bus_type;	/* use DIA_BUS_TYPE_xxx above */	int		bus_num;	/* bus number (instance number of bus type) */	int		func_num;	/* adapter function number (PCI register) */	int		slot;		/* slot number in bus */	unsigned char	irq;		/* IRQ number */    int     reset_base; /* Reset register  for I/O mapped cards */	int		io_base;	/* I/O base for I/O mapped cards */	void	*memory[5];	/* memory base addresses for memory mapped cards */	char	name[9];	/* name of adapter */	int		serial;		/* serial number */	unsigned char	int_priority;	/* Interrupt priority */} dia_card_t;/* * protocol configuration information * passed as parameter to DIA_IOCTL_CONFIG ioctl to configure card */typedef struct{	int				card_id;			/* to identify particular card */	unsigned char	tei;	unsigned char	nt2;	unsigned char	watchdog;	unsigned char	permanent;	unsigned char	x_interface;	unsigned char	stable_l2;	unsigned char	no_order_check;	unsigned char	handset_type;	unsigned char	sig_flags;	unsigned char	low_channel;	unsigned char	prot_version;	unsigned char	crc4;	struct	{		unsigned char oad[32];		unsigned char osa[32];		unsigned char spid[32];	}terminal[2];} dia_config_t;/* * code configuration  * passed as parameter to DIA_IOCTL_LOAD ioctl * one of these ioctl per code file to load */typedef struct{	int				card_id;	/* card to load */	enum	{		DIA_CPU_CODE,			/* CPU code */		DIA_DSP_CODE,			/* DSP code */		DIA_CONT_CODE,			/* continuation of code */		DIA_TABLE_CODE,			/* code table */	        DIA_DLOAD_CNT,           /* number of downloads*/		DIA_FPGA_CODE	}				code_type;	/* code for CPU or DSP ? */	int				length;		/* length of code */	unsigned char	*code;		/* pointer (in user-space) to code */} dia_load_t;/* * start configuration  * passed as parameter to DIA_IOCTL_START ioctl */typedef struct{	int				card_id;	/* card to start */} dia_start_t;/* used for retrieving memory from the card */typedef struct {	word	card_id;	dword 	addr;	byte	data[16 * 8];} mem_block_t;/* DIVA Server specific addresses */#define DIVAS_CPU_START_ADDR    (0x0)#define	ORG_MAX_PROTOCOL_CODE_SIZE	0x000A0000#define	ORG_MAX_DSP_CODE_SIZE		(0x000F0000 - ORG_MAX_PROTOCOL_CODE_SIZE)#define	ORG_DSP_CODE_BASE		(0xBF7F0000 - ORG_MAX_DSP_CODE_SIZE)#define DIVAS_DSP_START_ADDR    (0xBF7A0000)#define DIVAS_SHARED_OFFSET     (0x1000)#define MP_DSP_CODE_BASE           0xa03a0000#define MQ_PROTCODE_OFFSET  0x100000#define MQ_SM_OFFSET		0X0f0000#define	V90D_MAX_PROTOCOL_CODE_SIZE	0x00090000#define V90D_MAX_DSP_CODE_SIZE		(0x000F0000 - V90D_MAX_PROTOCOL_CODE_SIZE)#define	V90D_DSP_CODE_BASE		(0xBF7F0000 - V90D_MAX_DSP_CODE_SIZE)#define MQ_ORG_MAX_PROTOCOL_CODE_SIZE   0x000a0000  /* max 640K Protocol-Code */#define MQ_ORG_MAX_DSP_CODE_SIZE        0x00050000  /* max 320K DSP-Code */#define MQ_ORG_DSP_CODE_BASE           (MQ_MAX_DSP_DOWNLOAD_ADDR \                                      - MQ_ORG_MAX_DSP_CODE_SIZE)#define MQ_V90D_MAX_PROTOCOL_CODE_SIZE  0x00090000  /* max 576K Protocol-Code */#define MQ_V90D_MAX_DSP_CODE_SIZE       0x00060000  /* max 384K DSP-Code if V.90D included */#define	MQ_MAX_DSP_DOWNLOAD_ADDR        0xa03f0000#define MQ_V90D_DSP_CODE_BASE          (MQ_MAX_DSP_DOWNLOAD_ADDR \                                      - MQ_V90D_MAX_DSP_CODE_SIZE)#define ALIGNMENT_MASK_MAESTRA        0xfffffffc#endif /* DIVAS_H */

⌨️ 快捷键说明

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