121c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* 221c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o * bb_compat.c --- compatibility badblocks routines 3efc6f628e15de95bcd13e4f0ee223cb42115d520Theodore Ts'o * 421c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o * Copyright (C) 1997 Theodore Ts'o. 521c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o * 621c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o * %Begin-Header% 7543547a52a20cb7e69d74921b2f691078fd55d83Theodore Ts'o * This file may be redistributed under the terms of the GNU Library 8543547a52a20cb7e69d74921b2f691078fd55d83Theodore Ts'o * General Public License, version 2. 921c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o * %End-Header% 1021c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o */ 1121c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 12d1154eb460efe588eaed3d439c1caaca149fa362Theodore Ts'o#include "config.h" 1321c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o#include <stdio.h> 1421c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o#include <string.h> 154cbe8af4b0d0c72fb28bb500c1bd8a46b00fdde3Theodore Ts'o#if HAVE_UNISTD_H 1621c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o#include <unistd.h> 174cbe8af4b0d0c72fb28bb500c1bd8a46b00fdde3Theodore Ts'o#endif 1821c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o#include <fcntl.h> 1921c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o#include <time.h> 201d2ff46ae7533ffd038534b189f272d2a4122e4eTheodore Ts'o#if HAVE_SYS_STAT_H 2121c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o#include <sys/stat.h> 221d2ff46ae7533ffd038534b189f272d2a4122e4eTheodore Ts'o#endif 231d2ff46ae7533ffd038534b189f272d2a4122e4eTheodore Ts'o#if HAVE_SYS_TYPES_H 2421c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o#include <sys/types.h> 251d2ff46ae7533ffd038534b189f272d2a4122e4eTheodore Ts'o#endif 2621c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 27b5abe6fac9c9e7caf4710501d1657d30e4857ef6Theodore Ts'o#include "ext2_fs.h" 2821c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o#include "ext2fsP.h" 2921c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 3021c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'oerrcode_t badblocks_list_create(badblocks_list *ret, int size) 3121c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o{ 3221c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o return ext2fs_badblocks_list_create(ret, size); 3321c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o} 3421c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 3521c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'ovoid badblocks_list_free(badblocks_list bb) 3621c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o{ 3721c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o ext2fs_badblocks_list_free(bb); 3821c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o} 3921c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 4021c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'oerrcode_t badblocks_list_add(badblocks_list bb, blk_t blk) 4121c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o{ 4221c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o return ext2fs_badblocks_list_add(bb, blk); 4321c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o} 4421c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 4521c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'oint badblocks_list_test(badblocks_list bb, blk_t blk) 4621c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o{ 4721c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o return ext2fs_badblocks_list_test(bb, blk); 4821c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o} 4921c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 5021c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'oerrcode_t badblocks_list_iterate_begin(badblocks_list bb, 5121c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o badblocks_iterate *ret) 5221c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o{ 5321c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o return ext2fs_badblocks_list_iterate_begin(bb, ret); 5421c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o} 5521c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 5621c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'oint badblocks_list_iterate(badblocks_iterate iter, blk_t *blk) 5721c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o{ 5821c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o return ext2fs_badblocks_list_iterate(iter, blk); 5921c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o} 6021c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 6121c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'ovoid badblocks_list_iterate_end(badblocks_iterate iter) 6221c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o{ 6321c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o ext2fs_badblocks_list_iterate_end(iter); 6421c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o} 65