1 /* 2 * Copyright (c) 2009 Thomas Schmitt 3 * 4 * This file is part of the libisofs project; you can redistribute it and/or 5 * modify it under the terms of the GNU General Public License version 2 6 * or later as published by the Free Software Foundation. 7 * See COPYING file for details. 8 */ 9 10 #ifndef LIBISO_MD5_H_ 11 #define LIBISO_MD5_H_ 12 13 14 /* The MD5 computation API is in libisofs.h : iso_md5_start() et.al. */ 15 16 17 /** Create a writer object for checksums and add it to the writer list of 18 the given Ecma119Image. 19 */ 20 int checksum_writer_create(Ecma119Image *target); 21 22 23 /* Write stream detectable checksum tag to extra block. 24 * All tag ranges start at the beginning of the System Area (i.e. t->ms_block) 25 * and stem from the same MD5 computation context. Tag types 2 and 3 are 26 * intermediate checksums. Type 2 announces the existence of type 3. 27 * If both match, then at least the directory tree is trustworthy. 28 * Type 1 is written at the very end of the session. If it matches, then 29 * the whole image is trustworthy. 30 * @param t The image being written 31 * @flag bit0-7= tag type 32 * 1= session tag (End checksumming.) 33 * 2= superblock tag (System Area and Volume Descriptors) 34 * 3= tree tag (ECMA-119 and Rock Ridge tree) 35 */ 36 int iso_md5_write_tag(Ecma119Image *t, int flag); 37 38 39 #endif /* ! LIBISO_MD5_H_ */ 40 41