xref: /aosp_15_r20/external/e2fsprogs/lib/e2p/getversion.c (revision 6a54128f25917bfc36a8a6e9d722c04a0b4641b6)
1*6a54128fSAndroid Build Coastguard Worker /*
2*6a54128fSAndroid Build Coastguard Worker  * getversion.c		- Get a file version on an ext2 file system
3*6a54128fSAndroid Build Coastguard Worker  *
4*6a54128fSAndroid Build Coastguard Worker  * Copyright (C) 1993, 1994  Remy Card <[email protected]>
5*6a54128fSAndroid Build Coastguard Worker  *                           Laboratoire MASI, Institut Blaise Pascal
6*6a54128fSAndroid Build Coastguard Worker  *                           Universite Pierre et Marie Curie (Paris VI)
7*6a54128fSAndroid Build Coastguard Worker  *
8*6a54128fSAndroid Build Coastguard Worker  * %Begin-Header%
9*6a54128fSAndroid Build Coastguard Worker  * This file may be redistributed under the terms of the GNU Library
10*6a54128fSAndroid Build Coastguard Worker  * General Public License, version 2.
11*6a54128fSAndroid Build Coastguard Worker  * %End-Header%
12*6a54128fSAndroid Build Coastguard Worker  */
13*6a54128fSAndroid Build Coastguard Worker 
14*6a54128fSAndroid Build Coastguard Worker /*
15*6a54128fSAndroid Build Coastguard Worker  * History:
16*6a54128fSAndroid Build Coastguard Worker  * 93/10/30	- Creation
17*6a54128fSAndroid Build Coastguard Worker  */
18*6a54128fSAndroid Build Coastguard Worker 
19*6a54128fSAndroid Build Coastguard Worker #include "config.h"
20*6a54128fSAndroid Build Coastguard Worker #if HAVE_ERRNO_H
21*6a54128fSAndroid Build Coastguard Worker #include <errno.h>
22*6a54128fSAndroid Build Coastguard Worker #endif
23*6a54128fSAndroid Build Coastguard Worker #if HAVE_SYS_IOCTL_H
24*6a54128fSAndroid Build Coastguard Worker #include <sys/ioctl.h>
25*6a54128fSAndroid Build Coastguard Worker #endif
26*6a54128fSAndroid Build Coastguard Worker 
27*6a54128fSAndroid Build Coastguard Worker #include "e2p.h"
28*6a54128fSAndroid Build Coastguard Worker 
getversion(int fd,unsigned long * version)29*6a54128fSAndroid Build Coastguard Worker int getversion (int fd, unsigned long * version)
30*6a54128fSAndroid Build Coastguard Worker {
31*6a54128fSAndroid Build Coastguard Worker #if HAVE_EXT2_IOCTLS
32*6a54128fSAndroid Build Coastguard Worker 	int	r, ver;
33*6a54128fSAndroid Build Coastguard Worker 
34*6a54128fSAndroid Build Coastguard Worker 	r = ioctl (fd, EXT2_IOC_GETVERSION, &ver);
35*6a54128fSAndroid Build Coastguard Worker 	*version = ver;
36*6a54128fSAndroid Build Coastguard Worker 	return r;
37*6a54128fSAndroid Build Coastguard Worker #else /* ! HAVE_EXT2_IOCTLS */
38*6a54128fSAndroid Build Coastguard Worker 	errno = EOPNOTSUPP;
39*6a54128fSAndroid Build Coastguard Worker 	return -1;
40*6a54128fSAndroid Build Coastguard Worker #endif /* ! HAVE_EXT2_IOCTLS */
41*6a54128fSAndroid Build Coastguard Worker }
42