/* * 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; } }