From: David Schleef Date: Thu, 1 Mar 2001 05:10:28 +0000 (+0000) Subject: interface update X-Git-Tag: r0_7_15~13 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=2963ac3c653dfdd1e4232f778fa86bff616dc476;p=comedilib.git interface update --- diff --git a/include/comedi.h b/include/comedi.h index acfc22a..a4e1915 100644 --- a/include/comedi.h +++ b/include/comedi.h @@ -71,6 +71,7 @@ typedef unsigned short sampl_t; #define INSN_READ ( 0 | INSN_MASK_READ) #define INSN_WRITE ( 1 | INSN_MASK_WRITE) #define INSN_BITS ( 2 | INSN_MASK_READ|INSN_MASK_WRITE) +#define INSN_CONFIG ( 3 | INSN_MASK_READ|INSN_MASK_WRITE) #define INSN_GTOD ( 4 | INSN_MASK_READ|INSN_MASK_SPECIAL) #define INSN_WAIT ( 5 | INSN_MASK_WRITE|INSN_MASK_SPECIAL) @@ -118,6 +119,7 @@ typedef unsigned short sampl_t; #define SDF_MODE2 0x0200 /* can do mode 2 */ #define SDF_MODE3 0x0400 /* can do mode 3 */ #define SDF_MODE4 0x0800 /* can do mode 4 */ +#define SDF_CMD 0x1000 /* can do commands */ #define SDF_READABLE 0x00010000 /* subdevice can be read (e.g. analog input) */ #define SDF_WRITEABLE 0x00020000 /* subdevice can be written (e.g. analog output) */ @@ -276,7 +278,9 @@ struct comedi_devinfo_struct{ unsigned int n_subdevs; char driver_name[COMEDI_NAMELEN]; char board_name[COMEDI_NAMELEN]; - int options[COMEDI_NDEVCONFOPTS]; + int read_subdevice; + int write_subdevice; + int unused[30]; }; struct comedi_devconfig_struct{ @@ -285,9 +289,13 @@ struct comedi_devconfig_struct{ }; struct comedi_bufconfig_struct{ - unsigned int read_size; /* read buffer size in bytes */ - unsigned int write_size; /* write buffer size in bytes */ - unsigned int unused[5]; + unsigned int subdevice; + unsigned int flags; + + unsigned int maximum_size; + unsigned int size; + + unsigned int unused[4]; }; /* range stuff */ @@ -305,11 +313,8 @@ struct comedi_bufconfig_struct{ #define UNIT_none 2 -/* Kernel internal stuff. Needed by RTLinux modules and such. */ - -#ifdef __KERNEL__ - /* callback stuff */ +/* only relevant to kernel modules. */ #define COMEDI_CB_EOS 1 /* end of scan */ #define COMEDI_CB_EOA 2 /* end of acquisition */ @@ -317,68 +322,6 @@ struct comedi_bufconfig_struct{ #define COMEDI_CB_EOBUF 8 /* end of buffer */ #define COMEDI_CB_ERROR 16 /* card error during acquisition */ -/* exported functions */ - -/* these functions may not be called at real-time priority */ - -int comedi_open(unsigned int minor); -void comedi_close(unsigned int minor); - -/* these functions may be called at any priority, but may fail at - real-time priority */ - -int comedi_lock_ioctl(unsigned int minor,unsigned int subdev); -int comedi_unlock_ioctl(unsigned int minor,unsigned int subdev); - -/* these functions may be called at any priority, but you must hold - the lock for the subdevice */ - -int comedi_cancel_ioctl(unsigned int minor,unsigned int subdev); -int comedi_register_callback(unsigned int minor,unsigned int subdev, - unsigned int mask,int (*cb)(unsigned int,void *),void *arg); - -int comedi_trig_ioctl(unsigned int minor,unsigned int subdev,comedi_trig *it); -int __comedi_trig_ioctl(unsigned int minor,unsigned int subdev,comedi_trig *it); -int comedi_data_write(unsigned int dev,unsigned int subdev,unsigned int chan, - unsigned int range,unsigned int aref,lsampl_t data); -int comedi_data_read(unsigned int dev,unsigned int subdev,unsigned int chan, - unsigned int range,unsigned int aref,lsampl_t *data); -int comedi_dio_config(unsigned int dev,unsigned int subdev,unsigned int chan, - unsigned int io); -int comedi_dio_read(unsigned int dev,unsigned int subdev,unsigned int chan, - unsigned int *val); -int comedi_dio_write(unsigned int dev,unsigned int subdev,unsigned int chan, - unsigned int val); -int comedi_dio_bitfield(unsigned int dev,unsigned int subdev,unsigned int mask, - unsigned int *bits); -int comedi_get_n_subdevices(unsigned int dev); -int comedi_get_version_code(unsigned int dev); -char *comedi_get_driver_name(unsigned int dev); -char *comedi_get_board_name(unsigned int minor); -int comedi_get_subdevice_type(unsigned int minor,unsigned int subdevice); -int comedi_find_subdevice_by_type(unsigned int minor,int type,unsigned int subd); -int comedi_get_n_channels(unsigned int minor,unsigned int subdevice); -lsampl_t comedi_get_maxdata(unsigned int minor,unsigned int subdevice,unsigned - int chan); -int comedi_get_n_ranges(unsigned int minor,unsigned int subdevice,unsigned int - chan); - - - -/* ALPHA functions */ -unsigned int comedi_get_subdevice_flags(unsigned int minor,unsigned int - subdevice); -int comedi_get_len_chanlist(unsigned int minor,unsigned int subdevice); -int comedi_get_krange(unsigned int minor,unsigned int subdevice,unsigned int - chan, unsigned int range, comedi_krange *krange); -unsigned int comedi_get_buf_head_pos(unsigned int minor,unsigned int - subdevice); -int comedi_set_user_int_count(unsigned int minor,unsigned int subdevice, - unsigned int buf_user_count); - -#endif - - #ifdef __cplusplus }