File: scsi-write-page.h

package info (click to toggle)
brasero 3.12.2-5
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 34,020 kB
  • sloc: ansic: 104,236; sh: 4,150; makefile: 1,611; xml: 107
file content (161 lines) | stat: -rw-r--r-- 3,303 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
/*
 * Libbrasero-media
 * Copyright (C) Philippe Rouquier 2005-2009 <bonfire-app@wanadoo.fr>
 *
 * Libbrasero-media 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.
 *
 * The Libbrasero-media authors hereby grant permission for non-GPL compatible
 * GStreamer plugins to be used and distributed together with GStreamer
 * and Libbrasero-media. This permission is above and beyond the permissions granted
 * by the GPL license by which Libbrasero-media is covered. If you modify this code
 * you may extend this exception to your version of the code, but you are not
 * obligated to do so. If you do not wish to do so, delete this exception
 * statement from your version.
 * 
 * Libbrasero-media 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 Library 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.,
 * 	51 Franklin Street, Fifth Floor
 * 	Boston, MA  02110-1301, USA.
 */
 
#ifndef _SCSI_WRITE_PAGE_H
#define _SCSI_WRITE_PAGE_H

#include <glib.h>

G_BEGIN_DECLS

/**
 * Write Parameters Page
 * This mode page is useful for CD-R, CD-RW (not MRW formatted), DVD-R, and
 * DVD-RW media. Not for DVD+R(W)/DVD-RAM.
 */

#if G_BYTE_ORDER == G_LITTLE_ENDIAN

struct _BraseroScsiWritePage {
	uchar code		:6;
	uchar reserved		:1;
	uchar ps		:1;

	uchar len;

	uchar write_type	:4;
	uchar testwrite		:1;
	uchar LS_V		:1;
	uchar BUFE		:1;
	uchar reserved1		:1;

	uchar track_mode	:4;
	uchar copy		:1;
	uchar FP		:1;
	uchar multisession	:2;

	uchar data_block_type	:4;
	uchar reserved2		:4;

	uchar link_size;

	uchar reserved3;

	uchar app_code		:6;
	uchar reserved4		:2;

	uchar session_format;

	uchar reserved5;

	uchar packet_size	[4];

	uchar pause_len		[2];

	uchar MCN		[16];

	uchar ISRC_COL		[16];

	uchar sub_hdr0;
	uchar sub_hdr1;
	uchar sub_hdr2;
	uchar sub_hdr3;

	uchar vendor		[4];
};

#else

struct _BraseroScsiWritePage {
	uchar ps		:1;
	uchar reserved		:1;
	uchar code		:6;

	uchar len;

	uchar reserved1		:1;
	uchar BUFE		:1;
	uchar LS_V		:1;
	uchar testwrite		:1;
	uchar write_type	:4;

	uchar multisession	:2;
	uchar FP		:1;
	uchar copy		:1;
	uchar track_mode	:4;

	uchar reserved2		:4;
	uchar data_block_type	:4;

	uchar link_size;

	uchar reserved3;

	uchar reserved4		:2;
	uchar app_code		:6;

	uchar session_format;

	uchar reserved5;

	uchar packet_size	[4];

	uchar pause_len		[2];

	uchar MCN		[16];

	uchar ISRC_COL		[16];

	uchar sub_hdr0;
	uchar sub_hdr1;
	uchar sub_hdr2;
	uchar sub_hdr3;

	uchar vendor		[4];
};

#endif

typedef struct _BraseroScsiWritePage BraseroScsiWritePage;

typedef enum {
	BRASERO_SCSI_WRITE_PACKET_INC	= 0x00,
	BRASERO_SCSI_WRITE_TAO		= 0x01,
	BRASERO_SCSI_WRITE_SAO		= 0x02,
	BRASERO_SCSI_WRITE_RAW		= 0x03

	/* Reserved */
} BraseroScsiWriteMode;

G_END_DECLS

#endif /* _SCSI_WRITE_PAGE_H */