1 /*
2  * This file has been modified for the cdrkit suite.
3  *
4  * The behaviour and appearence of the program code below can differ to a major
5  * extent from the version distributed by the original author(s).
6  *
7  * For details, see Changelog file distributed with the cdrkit package. If you
8  * received this file from another source then ask the distributing person for
9  * a log of modifications.
10  *
11  */
12 
13 /* @(#)mmcvendor.h	1.3 04/03/01 Copyright 2002-2004 J. Schilling */
14 /*
15  *	Copyright (c) 2002-2004 J. Schilling
16  */
17 /*
18  * This program is free software; you can redistribute it and/or modify
19  * it under the terms of the GNU General Public License version 2
20  * as published by the Free Software Foundation.
21  *
22  * This program is distributed in the hope that it will be useful,
23  * but WITHOUT ANY WARRANTY; without even the implied warranty of
24  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
25  * GNU General Public License for more details.
26  *
27  * You should have received a copy of the GNU General Public License along with
28  * this program; see the file COPYING.  If not, write to the Free Software
29  * Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
30  */
31 
32 #ifndef	_MMCVENDOR_H
33 #define	_MMCVENDOR_H
34 
35 #include <utypes.h>
36 #include <btorder.h>
37 
38 #if defined(_BIT_FIELDS_LTOH)	/* Intel bitorder */
39 
40 struct ricoh_mode_page_30 {
41 		MP_P_CODE;		/* parsave & pagecode */
42 	Uchar	p_len;			/* 0xE = 14 Bytes */
43 	Ucbit	BUEFS		:1;	/* Burn-Free supported	*/
44 	Ucbit	TWBFS		:1;	/* Test Burn-Free sup.	*/
45 	Ucbit	res_2_23	:2;
46 	Ucbit	ARSCS		:1;	/* Auto read speed control supp. */
47 	Ucbit	AWSCS		:1;	/* Auto write speed control supp. */
48 	Ucbit	res_2_67	:2;
49 	Ucbit	BUEFE		:1;	/* Burn-Free enabled	*/
50 	Ucbit	res_2_13	:3;
51 	Ucbit	ARSCE		:1;	/* Auto read speed control enabled */
52 	Ucbit	AWSCD		:1;	/* Auto write speed control disabled */
53 	Ucbit	res_3_67	:2;
54 	Uchar	link_counter[2];	/* Burn-Free link counter */
55 	Uchar	res[10];		/* Padding up to 16 bytes */
56 };
57 
58 #else				/* Motorola bitorder */
59 
60 struct ricoh_mode_page_30 {
61 		MP_P_CODE;		/* parsave & pagecode */
62 	Uchar	p_len;			/* 0xE = 14 Bytes */
63 	Ucbit	res_2_67	:2;
64 	Ucbit	AWSCS		:1;	/* Auto write speed control supp. */
65 	Ucbit	ARSCS		:1;	/* Auto read speed control supp. */
66 	Ucbit	res_2_23	:2;
67 	Ucbit	TWBFS		:1;	/* Test Burn-Free sup.	*/
68 	Ucbit	BUEFS		:1;	/* Burn-Free supported	*/
69 	Ucbit	res_3_67	:2;
70 	Ucbit	AWSCD		:1;	/* Auto write speed control disabled */
71 	Ucbit	ARSCE		:1;	/* Auto read speed control enabled */
72 	Ucbit	res_2_13	:3;
73 	Ucbit	BUEFE		:1;	/* Burn-Free enabled	*/
74 	Uchar	link_counter[2];	/* Burn-Free link counter */
75 	Uchar	res[10];		/* Padding up to 16 bytes */
76 };
77 #endif
78 
79 struct cd_mode_vendor {
80 	struct scsi_mode_header header;
81 	union cd_v_pagex {
82 		struct ricoh_mode_page_30 page30;
83 	} pagex;
84 };
85 
86 
87 #endif	/* _MMCVENDOR_H */
88