From: David Schleef Date: Sat, 5 May 2001 11:35:27 +0000 (+0000) Subject: Added comedi_map, comedi_unmap X-Git-Tag: r0_7_59~71 X-Git-Url: http://git.tremily.us/gitweb.cgi?a=commitdiff_plain;h=8e2590454c35c71fc997dd06a853234c03fc00a7;p=comedi.git Added comedi_map, comedi_unmap --- diff --git a/comedi/kcomedilib/kcomedilib_main.c b/comedi/kcomedilib/kcomedilib_main.c index 8ed7fe05..1b359531 100644 --- a/comedi/kcomedilib/kcomedilib_main.c +++ b/comedi/kcomedilib/kcomedilib_main.c @@ -944,3 +944,48 @@ int comedi_poll(unsigned int minor, unsigned int subdev) return s->poll(dev,s); } + +/* WARNING: not portable */ +int comedi_map(unsigned int minor, unsigned int subdev, void **ptr) +{ + comedi_device *dev; + comedi_subdevice *s; + + if((ret=minor_to_dev(minor,&dev))<0) + return ret; + + if(subdev>=dev->n_subdevices) + return -ENODEV; + + s=dev->subdevices+subdev; + if(!s->async) + return -EINVAL; + + if(ptr)*ptr=s->async->prealloc_buf; + + /* XXX no reference counting */ + + return 0; +} + +/* WARNING: not portable */ +int comedi_unmap(unsigned int minor, unsigned int subdev) +{ + comedi_device *dev; + comedi_subdevice *s; + + if((ret=minor_to_dev(minor,&dev))<0) + return ret; + + if(subdev>=dev->n_subdevices) + return -ENODEV; + + s=dev->subdevices+subdev; + if(!s->async) + return -EINVAL; + + /* XXX no reference counting */ + + return 0; +} + diff --git a/comedi/kcomedilib/ksyms.c b/comedi/kcomedilib/ksyms.c index 8ff0870b..7abd4dff 100644 --- a/comedi/kcomedilib/ksyms.c +++ b/comedi/kcomedilib/ksyms.c @@ -62,6 +62,7 @@ EXPORT_SYMBOL(comedi_get_subdevice_type); EXPORT_SYMBOL(comedi_open); EXPORT_SYMBOL(comedi_close); +EXPORT_SYMBOL(comedi_poll); //EXPORT_SYMBOL(comedi_loglevel); //EXPORT_SYMBOL(comedi_perror); //EXPORT_SYMBOL(comedi_strerror); @@ -99,6 +100,8 @@ EXPORT_SYMBOL(comedi_dio_bitfield); //EXPORT_SYMBOL(comedi_get_timer); //EXPORT_SYMBOL(comedi_timed_1chan); //EXPORT_SYMBOL(comedi_set_global_oor_behavior); +EXPORT_SYMBOL(comedi_map); +EXPORT_SYMBOL(comedi_unmap); #endif