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