+int comedi_get_buffer_size(comedi_t *it,unsigned int subd)
+{
+ comedi_bufconfig bc;
+ int ret;
+
+ memset(&bc,0,sizeof(bc));
+
+ bc.subdevice = subd;
+
+ ret = ioctl(it->fd, COMEDI_BUFCONFIG, &bc);
+ if(ret<0)return -1;
+
+ return bc.size;
+}
+
+int comedi_get_max_buffer_size(comedi_t *it,unsigned int subd)
+{
+ comedi_bufconfig bc;
+ int ret;
+
+ memset(&bc,0,sizeof(bc));
+
+ bc.subdevice = subd;
+
+ ret = ioctl(it->fd, COMEDI_BUFCONFIG, &bc);
+ if(ret<0)return -1;
+
+ return bc.maximum_size;
+}
+
+int comedi_set_buffer_size(comedi_t *it,unsigned int subd,int size)
+{
+ comedi_bufconfig bc;
+ int ret;
+
+ memset(&bc,0,sizeof(bc));
+
+ bc.subdevice = subd;
+ bc.size = size;
+
+ ret = ioctl(it->fd, COMEDI_BUFCONFIG, &bc);
+ if(ret<0)return -1;
+
+ return bc.size;
+}
+