119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project/* 219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project * write_bb_file.c --- write a list of bad blocks to a FILE * 319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project * 419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project * Copyright (C) 1994, 1995 Theodore Ts'o. 519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project * 619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project * %Begin-Header% 78558eab78390d1924cd6b255686ceef133f294d5Ken Sumrall * This file may be redistributed under the terms of the GNU Library 88558eab78390d1924cd6b255686ceef133f294d5Ken Sumrall * General Public License, version 2. 919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project * %End-Header% 1019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project */ 1119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project 1219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#include <stdio.h> 1319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project 1419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#include "ext2_fs.h" 1519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project#include "ext2fs.h" 1619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project 1719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projecterrcode_t ext2fs_write_bb_FILE(ext2_badblocks_list bb_list, 1819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project unsigned int flags EXT2FS_ATTR((unused)), 1919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project FILE *f) 2019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project{ 2119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project badblocks_iterate bb_iter; 2219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project blk_t blk; 2319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project errcode_t retval; 2419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project 2519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project retval = ext2fs_badblocks_list_iterate_begin(bb_list, &bb_iter); 2619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project if (retval) 2719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project return retval; 2819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project 2919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project while (ext2fs_badblocks_list_iterate(bb_iter, &blk)) { 3019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project fprintf(f, "%u\n", blk); 3119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project } 3219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project ext2fs_badblocks_list_iterate_end(bb_iter); 3319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project return 0; 3419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project} 35