cdbackup.h
author nathan
Thu, 04 Oct 2012 12:48:27 +0200
branchtrunk
changeset 15 a9348bf5f6e7
parent 4 79da91042fcc
permissions -rw-r--r--
documentation update, bump version
nathan@0
     1
/* cdbackup.h.
nathan@15
     2
Copyright (c) 2000-2012 Craig Condit, Stefan Huelswitt.
nathan@0
     3
nathan@0
     4
Redistribution and use in source and binary forms, with or without
nathan@0
     5
modification, are permitted provided that the following conditions are met: 
nathan@0
     6
nathan@0
     7
1. Redistributions of source code must retain the above copyright notice,
nathan@0
     8
   this list of conditions and the following disclaimer. 
nathan@0
     9
2. Redistributions in binary form must reproduce the above copyright notice,
nathan@0
    10
   this list of conditions and the following disclaimer in the documentation
nathan@0
    11
   and/or other materials provided with the distribution. 
nathan@0
    12
nathan@0
    13
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
nathan@0
    14
OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
nathan@0
    15
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
nathan@0
    16
DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR
nathan@0
    17
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
nathan@0
    18
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
nathan@0
    19
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
nathan@0
    20
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
nathan@0
    21
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
nathan@0
    22
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
nathan@0
    23
SUCH DAMAGE.
nathan@0
    24
*/
nathan@0
    25
nathan@0
    26
#ifndef _CDBACKUP_H
nathan@0
    27
#define _CDBACKUP_H
nathan@0
    28
nathan@0
    29
#include "version.h"
nathan@0
    30
nathan@0
    31
#define NO_LABEL	"CD-Backup Track"
nathan@0
    32
#define SHORT_HDR	"cdbackup"
nathan@0
    33
#define HDR_STRING	SHORT_HDR" "VERSION
nathan@0
    34
nathan@0
    35
#define MIN_BLOCKS	2   /* min. required blocks for a session: header block, one data block */
nathan@0
    36
nathan@4
    37
#define F_NONE   0   /* flag values */
nathan@4
    38
#define F_CRC    1   /* backup has CRC checksum */
nathan@4
    39
nathan@0
    40
struct header_block {
nathan@0
    41
  char id_str[33];	/* recorder id string (32 chars) */
nathan@0
    42
  char vol_id[33];	/* volume label (32 characters) */
nathan@0
    43
  char t_stamp[13];	/* timestamp */
nathan@0
    44
  char disk_set;	/* disk number - starts with 1 on multi-disk set */
nathan@4
    45
  char flags;           /* flags for the backup set */
nathan@0
    46
};
nathan@0
    47
nathan@0
    48
struct data_block {
nathan@0
    49
  char status;		/* status of block (0=continue, 1=done, 2=disk full) */
nathan@4
    50
  char flags;		/* flags for this data block */
nathan@0
    51
  short datasize;	/* # of bytes in block (max = CD_FRAMESIZE-this) */
nathan@0
    52
};
nathan@0
    53
nathan@4
    54
extern int padsize;
nathan@4
    55
extern long cd_len;
nathan@4
    56
extern int verbose;
nathan@4
    57
extern char *prg_name;
nathan@4
    58
nathan@4
    59
void start_cdrecord(void);
nathan@4
    60
nathan@0
    61
#define DBSIZE   sizeof(struct data_block)
nathan@0
    62
#define DATASIZE (CD_FRAMESIZE-DBSIZE)
nathan@0
    63
nathan@0
    64
#endif