Line data Source code
1 : /* root-dev-ino.c -- get the device and inode numbers for `/'.
2 : Copyright (C) 2003, 2005, 2006 Free Software Foundation, Inc.
3 :
4 : This program is free software: you can redistribute it and/or modify
5 : it under the terms of the GNU General Public License as published by
6 : the Free Software Foundation, either version 3 of the License, or
7 : (at your option) any later version.
8 :
9 : This program is distributed in the hope that it will be useful,
10 : but WITHOUT ANY WARRANTY; without even the implied warranty of
11 : MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 : GNU General Public License for more details.
13 :
14 : You should have received a copy of the GNU General Public License
15 : along with this program. If not, see <http://www.gnu.org/licenses/>. */
16 :
17 : /* Written by Jim Meyering. */
18 :
19 : #include <config.h>
20 :
21 : #include "root-dev-ino.h"
22 :
23 : #include <stdlib.h>
24 :
25 : /* Call lstat to get the device and inode numbers for `/'.
26 : Upon failure, return NULL. Otherwise, set the members of
27 : *ROOT_D_I accordingly and return ROOT_D_I. */
28 : struct dev_ino *
29 9 : get_root_dev_ino (struct dev_ino *root_d_i)
30 : {
31 : struct stat statbuf;
32 9 : if (lstat ("/", &statbuf))
33 0 : return NULL;
34 9 : root_d_i->st_ino = statbuf.st_ino;
35 9 : root_d_i->st_dev = statbuf.st_dev;
36 9 : return root_d_i;
37 : }
|