tst_getsize.c revision 543547a52a20cb7e69d74921b2f691078fd55d83
1d85c1e9800213d2a8750215f6980ae67411cac72Rafael Espindola/*
2d85c1e9800213d2a8750215f6980ae67411cac72Rafael Espindola * tst_getsize.c --- this function tests the getsize function
3d85c1e9800213d2a8750215f6980ae67411cac72Rafael Espindola *
4d85c1e9800213d2a8750215f6980ae67411cac72Rafael Espindola * Copyright (C) 1997 by Theodore Ts'o.
5d85c1e9800213d2a8750215f6980ae67411cac72Rafael Espindola *
6d85c1e9800213d2a8750215f6980ae67411cac72Rafael Espindola * %Begin-Header%
7d85c1e9800213d2a8750215f6980ae67411cac72Rafael Espindola * This file may be redistributed under the terms of the GNU Library
8d85c1e9800213d2a8750215f6980ae67411cac72Rafael Espindola * General Public License, version 2.
9d85c1e9800213d2a8750215f6980ae67411cac72Rafael Espindola * %End-Header%
10d85c1e9800213d2a8750215f6980ae67411cac72Rafael Espindola */
11d85c1e9800213d2a8750215f6980ae67411cac72Rafael Espindola
12d85c1e9800213d2a8750215f6980ae67411cac72Rafael Espindola#include <stdio.h>
13d85c1e9800213d2a8750215f6980ae67411cac72Rafael Espindola#include <string.h>
14d85c1e9800213d2a8750215f6980ae67411cac72Rafael Espindola#if HAVE_UNISTD_H
15d85c1e9800213d2a8750215f6980ae67411cac72Rafael Espindola#include <unistd.h>
16d85c1e9800213d2a8750215f6980ae67411cac72Rafael Espindola#endif
17d85c1e9800213d2a8750215f6980ae67411cac72Rafael Espindola#include <fcntl.h>
18d85c1e9800213d2a8750215f6980ae67411cac72Rafael Espindola#include <time.h>
19d85c1e9800213d2a8750215f6980ae67411cac72Rafael Espindola#include <sys/stat.h>
20d85c1e9800213d2a8750215f6980ae67411cac72Rafael Espindola#include <sys/types.h>
21d85c1e9800213d2a8750215f6980ae67411cac72Rafael Espindola#if HAVE_ERRNO_H
22d85c1e9800213d2a8750215f6980ae67411cac72Rafael Espindola#include <errno.h>
23d85c1e9800213d2a8750215f6980ae67411cac72Rafael Espindola#endif
24d85c1e9800213d2a8750215f6980ae67411cac72Rafael Espindola
25d85c1e9800213d2a8750215f6980ae67411cac72Rafael Espindola#include "ext2_fs.h"
26ccdb2a5e0ab4b0a7fc9d3859c6bb1676182169d5Benjamin Kramer#include "ext2fs.h"
27ccdb2a5e0ab4b0a7fc9d3859c6bb1676182169d5Benjamin Kramer
28ccdb2a5e0ab4b0a7fc9d3859c6bb1676182169d5Benjamin Kramerint main(int argc, const char *argv[])
29f18a87b1ce1be5ccc3b6b3dbd4f15374710e237bJeffrey Yasskin{
307dc8e8175a3a1d4e40819932165e26b01091541ePeter Collingbourne	errcode_t	retval;
317dc8e8175a3a1d4e40819932165e26b01091541ePeter Collingbourne	blk_t		blocks;
32f18a87b1ce1be5ccc3b6b3dbd4f15374710e237bJeffrey Yasskin
33f18a87b1ce1be5ccc3b6b3dbd4f15374710e237bJeffrey Yasskin	if (argc < 2) {
34f18a87b1ce1be5ccc3b6b3dbd4f15374710e237bJeffrey Yasskin		fprintf(stderr, "%s device\n", argv[0]);
35f18a87b1ce1be5ccc3b6b3dbd4f15374710e237bJeffrey Yasskin		exit(1);
36f18a87b1ce1be5ccc3b6b3dbd4f15374710e237bJeffrey Yasskin	}
37be5ff2f830d1833891051472d29818aa9f783cceRafael Espindola	add_error_table(&et_ext2_error_table);
38be5ff2f830d1833891051472d29818aa9f783cceRafael Espindola	retval = ext2fs_get_device_size(argv[1], 1024, &blocks);
39be5ff2f830d1833891051472d29818aa9f783cceRafael Espindola	if (retval) {
40be5ff2f830d1833891051472d29818aa9f783cceRafael Espindola		com_err(argv[0], retval, "while getting device size");
41be5ff2f830d1833891051472d29818aa9f783cceRafael Espindola		exit(1);
42be5ff2f830d1833891051472d29818aa9f783cceRafael Espindola	}
43be5ff2f830d1833891051472d29818aa9f783cceRafael Espindola	printf("%s is device has %u blocks.\n", argv[1], blocks);
44be5ff2f830d1833891051472d29818aa9f783cceRafael Espindola	return 0;
45be5ff2f830d1833891051472d29818aa9f783cceRafael Espindola}
46be5ff2f830d1833891051472d29818aa9f783cceRafael Espindola