comedi_compat32.h revision 2829db3eecf54ac32a870617742ebfeb1a515f43
1ed9eccbe8970f6eedc1b978c157caf1251a896d4David Schleef/* 2ed9eccbe8970f6eedc1b978c157caf1251a896d4David Schleef comedi/comedi_compat32.h 3ed9eccbe8970f6eedc1b978c157caf1251a896d4David Schleef 32-bit ioctl compatibility for 64-bit comedi kernel module. 4ed9eccbe8970f6eedc1b978c157caf1251a896d4David Schleef 5ed9eccbe8970f6eedc1b978c157caf1251a896d4David Schleef Author: Ian Abbott, MEV Ltd. <abbotti@mev.co.uk> 6ed9eccbe8970f6eedc1b978c157caf1251a896d4David Schleef Copyright (C) 2007 MEV Ltd. <http://www.mev.co.uk/> 7ed9eccbe8970f6eedc1b978c157caf1251a896d4David Schleef 8ed9eccbe8970f6eedc1b978c157caf1251a896d4David Schleef COMEDI - Linux Control and Measurement Device Interface 9ed9eccbe8970f6eedc1b978c157caf1251a896d4David Schleef Copyright (C) 1997-2007 David A. Schleef <ds@schleef.org> 10ed9eccbe8970f6eedc1b978c157caf1251a896d4David Schleef 11ed9eccbe8970f6eedc1b978c157caf1251a896d4David Schleef This program is free software; you can redistribute it and/or modify 12ed9eccbe8970f6eedc1b978c157caf1251a896d4David Schleef it under the terms of the GNU General Public License as published by 13ed9eccbe8970f6eedc1b978c157caf1251a896d4David Schleef the Free Software Foundation; either version 2 of the License, or 14ed9eccbe8970f6eedc1b978c157caf1251a896d4David Schleef (at your option) any later version. 15ed9eccbe8970f6eedc1b978c157caf1251a896d4David Schleef 16ed9eccbe8970f6eedc1b978c157caf1251a896d4David Schleef This program is distributed in the hope that it will be useful, 17ed9eccbe8970f6eedc1b978c157caf1251a896d4David Schleef but WITHOUT ANY WARRANTY; without even the implied warranty of 18ed9eccbe8970f6eedc1b978c157caf1251a896d4David Schleef MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19ed9eccbe8970f6eedc1b978c157caf1251a896d4David Schleef GNU General Public License for more details. 20ed9eccbe8970f6eedc1b978c157caf1251a896d4David Schleef 21ed9eccbe8970f6eedc1b978c157caf1251a896d4David Schleef You should have received a copy of the GNU General Public License 22ed9eccbe8970f6eedc1b978c157caf1251a896d4David Schleef along with this program; if not, write to the Free Software 23ed9eccbe8970f6eedc1b978c157caf1251a896d4David Schleef Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 24ed9eccbe8970f6eedc1b978c157caf1251a896d4David Schleef 25ed9eccbe8970f6eedc1b978c157caf1251a896d4David Schleef*/ 26ed9eccbe8970f6eedc1b978c157caf1251a896d4David Schleef 27ed9eccbe8970f6eedc1b978c157caf1251a896d4David Schleef#ifndef _COMEDI_COMPAT32_H 28ed9eccbe8970f6eedc1b978c157caf1251a896d4David Schleef#define _COMEDI_COMPAT32_H 29ed9eccbe8970f6eedc1b978c157caf1251a896d4David Schleef 30ed9eccbe8970f6eedc1b978c157caf1251a896d4David Schleef#include <linux/compat.h> 312829db3eecf54ac32a870617742ebfeb1a515f43Shane Warden 322829db3eecf54ac32a870617742ebfeb1a515f43Shane Warden/* For HAVE_COMPAT_IOCTL and HAVE_UNLOCKED_IOCTL */ 332829db3eecf54ac32a870617742ebfeb1a515f43Shane Warden#include <linux/fs.h> 34ed9eccbe8970f6eedc1b978c157caf1251a896d4David Schleef 35ed9eccbe8970f6eedc1b978c157caf1251a896d4David Schleef#ifdef CONFIG_COMPAT 36ed9eccbe8970f6eedc1b978c157caf1251a896d4David Schleef 37ed9eccbe8970f6eedc1b978c157caf1251a896d4David Schleef#ifdef HAVE_COMPAT_IOCTL 38ed9eccbe8970f6eedc1b978c157caf1251a896d4David Schleef 39ed9eccbe8970f6eedc1b978c157caf1251a896d4David Schleefextern long comedi_compat_ioctl(struct file *file, unsigned int cmd, 400a85b6f0ab0d2edb0d41b32697111ce0e4f43496Mithlesh Thukral unsigned long arg); 41e0dcef71f6ea63f80631d2e87d06a9ae05624eefGreg Kroah-Hartman#define comedi_register_ioctl32() do {} while (0) 42e0dcef71f6ea63f80631d2e87d06a9ae05624eefGreg Kroah-Hartman#define comedi_unregister_ioctl32() do {} while (0) 43ed9eccbe8970f6eedc1b978c157caf1251a896d4David Schleef 44ed9eccbe8970f6eedc1b978c157caf1251a896d4David Schleef#else /* HAVE_COMPAT_IOCTL */ 45ed9eccbe8970f6eedc1b978c157caf1251a896d4David Schleef 46ed9eccbe8970f6eedc1b978c157caf1251a896d4David Schleef#define comedi_compat_ioctl 0 /* NULL */ 47ed9eccbe8970f6eedc1b978c157caf1251a896d4David Schleefextern void comedi_register_ioctl32(void); 48ed9eccbe8970f6eedc1b978c157caf1251a896d4David Schleefextern void comedi_unregister_ioctl32(void); 49ed9eccbe8970f6eedc1b978c157caf1251a896d4David Schleef 50ed9eccbe8970f6eedc1b978c157caf1251a896d4David Schleef#endif /* HAVE_COMPAT_IOCTL */ 51ed9eccbe8970f6eedc1b978c157caf1251a896d4David Schleef 52ed9eccbe8970f6eedc1b978c157caf1251a896d4David Schleef#else /* CONFIG_COMPAT */ 53ed9eccbe8970f6eedc1b978c157caf1251a896d4David Schleef 54ed9eccbe8970f6eedc1b978c157caf1251a896d4David Schleef#define comedi_compat_ioctl 0 /* NULL */ 55e0dcef71f6ea63f80631d2e87d06a9ae05624eefGreg Kroah-Hartman#define comedi_register_ioctl32() do {} while (0) 56e0dcef71f6ea63f80631d2e87d06a9ae05624eefGreg Kroah-Hartman#define comedi_unregister_ioctl32() do {} while (0) 57ed9eccbe8970f6eedc1b978c157caf1251a896d4David Schleef 58ed9eccbe8970f6eedc1b978c157caf1251a896d4David Schleef#endif /* CONFIG_COMPAT */ 59ed9eccbe8970f6eedc1b978c157caf1251a896d4David Schleef 60ed9eccbe8970f6eedc1b978c157caf1251a896d4David Schleef#endif /* _COMEDI_COMPAT32_H */ 61