aboutsummaryrefslogtreecommitdiff
path: root/sys/sys/wormio.h
blob: 26477b213c97dad03bf8aa92bf0335b2185954bb (plain) (blame)
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
/* Shared between kernel & process */

#ifndef	_SYS_WORMIO_H_
#define	_SYS_WORMIO_H_

#include <sys/ioccom.h>

/***************************************************************\
* Ioctls for the WORM drive					*
\***************************************************************/

/*
 * Quirk select: chose the set of quirk functions to use for this
 * device.
 */

struct wormio_quirk_select
{
	const char *vendor;	/* vendor name */
	const char *model;	/* model name */
};

#define WORMIOCQUIRKSELECT	_IOW('W', 10, struct wormio_quirk_select)

/*
 * Prepare disk-wide parameters.
 */

struct wormio_prepare_disk
{
	int dummy;		/* use dummy writes, laser turned off */
	int speed;		/* drive speed selection */
};

#define WORMIOCPREPDISK		_IOW('W', 20, struct wormio_prepare_disk)

/*
 * Prepare track-specific parameters.
 */

struct wormio_prepare_track
{
	int audio;		/* audio track (data track if 0) */
	int preemp;		/* audio with preemphasis */
};

#define WORMIOCPREPTRACK	_IOW('W', 21, struct wormio_prepare_track)

/*
 * Fixation: write leadins and leadouts.  Select table-of-contents
 * type for this session.  If onp is != 0, another session will be
 * opened.
 */

struct wormio_fixation
{
	int toc_type;		/* TOC type */
	int onp;		/* open next program area */
};

#define WORMIOCFIXATION		_IOW('W', 22, struct wormio_fixation)

#endif /* !_SYS_WORMIO_H_ */