getversion.c revision e3507739e4185bdb2394928eb6479e48f4e690a8
198913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project/* 298913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project * getversion.c - Get a file version on an ext2 file system 398913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project * 498913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project * Copyright (C) 1993, 1994 Remy Card <card@masi.ibp.fr> 598913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project * Laboratoire MASI, Institut Blaise Pascal 698913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project * Universite Pierre et Marie Curie (Paris VI) 798913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project * 898913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project * %Begin-Header% 998913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project * This file may be redistributed under the terms of the GNU Library 1098913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project * General Public License, version 2. 1198913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project * %End-Header% 1298913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project */ 1398913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project 1498913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project/* 1598913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project * History: 1698913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project * 93/10/30 - Creation 1798913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project */ 1898913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project 1998913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project#include "config.h" 2098913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project#if HAVE_ERRNO_H 2198913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project#include <errno.h> 2298913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project#endif 2398913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project#include <sys/ioctl.h> 2498913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project 2598913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project#include "e2p.h" 2698913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project 2798913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Projectint getversion (int fd, unsigned long * version) 2898913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project{ 2998913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project#if HAVE_EXT2_IOCTLS 3098913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project int r, ver; 3198913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project 3298913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project r = ioctl (fd, EXT2_IOC_GETVERSION, &ver); 3398913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project *version = ver; 3498913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project return r; 3598913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project#else /* ! HAVE_EXT2_IOCTLS */ 3698913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project extern int errno; 3798913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project errno = EOPNOTSUPP; 3898913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project return -1; 3998913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project#endif /* ! HAVE_EXT2_IOCTLS */ 4098913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project} 4198913fed6520d8849fb2e246be943e04474aefaThe Android Open Source Project