extras-legacy/java/src/java/org/pykix/libburnia/libburn/BlockType.java

79 lines
1.8 KiB
Java

/*
* BlockType.java
*
* Copyright (c) 2007 Vreixo Formoso
*
* This library 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.
* See COPYING file for details.
*/
package org.pykix.libburnia.libburn;
/**
* Data format to send to the drive.
*
* @author Vreixo Formoso
* @since 0.1
*/
public enum BlockType {
/** sync, headers, edc/ecc provided by lib/user. */
RAW0(1),
/** sync, headers, edc/ecc and p/q subs provided by lib/user. */
RAW16(2),
/** sync, headers, edc/ecc and packed p-w subs provided by lib/user. */
RAW96P(4),
/** sync, headers, edc/ecc and raw p-w subs provided by lib/user. */
RAW96R(8),
/** only 2048 bytes of user data provided by lib/user. */
MODE1(256),
/** 2336 bytes of user data provided by lib/user. */
MODE2R(512),
/**
* 2048 bytes of user data provided by lib/user
* subheader provided in write parameters
* are we ever going to support this shit? I vote no.
* (supposed to be supported on all drives...)
*/
MODE2_PATHETIC(1024),
/**
* 2048 bytes of data + 8 byte subheader provided by lib/user
* hey, this is also dumb
*/
MODE2_LAME(2048),
/**
* 2324 bytes of data provided by lib/user
* subheader provided in write parameters.
* no sir, I don't like it.
*/
MODE2_OBSCURE(4096),
/**
* 2332 bytes of data supplied by lib/user
* 8 bytes sub header provided in write parameters
* this is the second least suck mode2, and is mandatory for
* all drives to support.
*/
MODE2_OK(8192),
/** SAO block sizes are based on cue sheet, so use this. */
SAO(16384);
int code;
private BlockType(int code) {
this.code = code;
}
}