int ret;
comedi_bufconfig bc;
+ if(!valid_subd(it,subdev)) return -1;
memset(&bc, 0, sizeof(bc));
bc.subdevice = subdev;
bc.size = size;
int ret;
comedi_bufconfig bc;
+ if(!valid_subd(it,subdev)) return -1;
memset(&bc, 0, sizeof(bc));
bc.subdevice = subdev;
bc.maximum_size = max_size;
int ret;
comedi_bufinfo bi;
+ if(!valid_subd(it,subdev)) return -1;
memset(&bi, 0, sizeof(bi));
bi.subdevice = subdev;
ret = comedi_ioctl(it->fd, COMEDI_BUFINFO, &bi);
int ret;
comedi_bufinfo bi;
+ if(!valid_subd(it,subdev)) return -1;
memset(&bi, 0, sizeof(bi));
bi.subdevice = subdev;
bi.bytes_read = bytes;
int ret;
comedi_bufinfo bi;
+ if(!valid_subd(it,subdev)) return -1;
memset(&bi, 0, sizeof(bi));
bi.subdevice = subdev;
bi.bytes_written = bytes;
int ret;
comedi_bufinfo bi;
+ if(!valid_subd(it,subdev)) return -1;
memset(&bi, 0, sizeof(bi));
bi.subdevice = subdev;
ret = comedi_ioctl(it->fd, COMEDI_BUFINFO, &bi);
int ret;
comedi_bufinfo bi;
+ if(!valid_subd(it,subdev)) return -1;
memset(&bi, 0, sizeof(bi));
bi.subdevice = subdev;
ret = comedi_ioctl(it->fd, COMEDI_BUFINFO, &bi);
{
int retval;
+ if(!valid_dev(dev)) return -1;
retval = check_cal_file( dev, calibration );
if( retval < 0 ) return retval;
char *board_name;
const char *driver_name;
+ if(!valid_dev(dev)) return NULL;
if( fstat( comedi_fileno( dev ), &file_stats ) < 0 )
{
COMEDILIB_DEBUG( 3, "failed to get file stats of comedi device file\n" );
subdevice *s;
int i,j;
+ if(!valid_dev(it))
+ return -1;
it->magic=0;
for(i=0;i<it->n_subdevices;i++){
EXPORT_ALIAS_DEFAULT(_comedi_cancel,comedi_cancel,0.7.18);
int _comedi_cancel(comedi_t *it,unsigned int subdevice)
{
+ if(!valid_dev(it)) return -1;
return comedi_ioctl(it->fd, COMEDI_CANCEL, (void*)(unsigned long)subdevice);
}
EXPORT_ALIAS_DEFAULT(_comedi_poll,comedi_poll,0.7.18);
int _comedi_poll(comedi_t *it,unsigned int subdevice)
{
+ if(!valid_dev(it)) return -1;
return comedi_ioctl(it->fd, COMEDI_POLL, (void*)(unsigned long)subdevice);
}
EXPORT_ALIAS_DEFAULT(_comedi_fileno,comedi_fileno,0.7.18);
int _comedi_fileno(comedi_t *it)
{
- if(!it)
- return -1;
-
+ if(!valid_dev(it)) return -1;
return it->fd;
}
EXPORT_ALIAS_DEFAULT(_comedi_trigger,comedi_trigger,0.7.18);
int _comedi_trigger(comedi_t *it,comedi_trig *t)
{
- if(!it || !t)
+ if(!valid_dev(it) || !t)
return -1;
return comedi_ioctl(it->fd, COMEDI_TRIG, t);
int _comedi_command(comedi_t *it,comedi_cmd *t)
{
int ret;
+ if(!valid_dev(it)) return -1;
ret = comedi_ioctl(it->fd, COMEDI_CMD, t);
__comedi_errno = errno;
switch(__comedi_errno){
int _comedi_command_test(comedi_t *it,comedi_cmd *t)
{
int ret;
+ if(!valid_dev(it)) return -1;
ret = comedi_ioctl(it->fd, COMEDI_CMDTEST, t);
__comedi_errno = errno;
switch(__comedi_errno){
int _comedi_do_insnlist(comedi_t *it,comedi_insnlist *il)
{
int ret;
+ if(!valid_dev(it)) return -1;
ret = comedi_ioctl(it->fd, COMEDI_INSNLIST, il);
__comedi_errno = errno;
return ret;
EXPORT_ALIAS_DEFAULT(_comedi_do_insn,comedi_do_insn,0.7.18);
int _comedi_do_insn(comedi_t *it,comedi_insn *insn)
{
+ if(!valid_dev(it)) return -1;
if(it->has_insn_ioctl){
return comedi_ioctl(it->fd, COMEDI_INSN, insn);
}else{
EXPORT_ALIAS_DEFAULT(_comedi_lock,comedi_lock,0.7.18);
int _comedi_lock(comedi_t *it,unsigned int subdevice)
{
+ if(!valid_dev(it)) return -1;
return comedi_ioctl(it->fd, COMEDI_LOCK, (void*)(unsigned long)subdevice);
}
EXPORT_ALIAS_DEFAULT(_comedi_unlock,comedi_unlock,0.7.18);
int _comedi_unlock(comedi_t *it,unsigned int subdevice)
{
+ if(!valid_dev(it)) return -1;
return comedi_ioctl(it->fd, COMEDI_UNLOCK, (void*)(unsigned long)subdevice);
}
EXPORT_ALIAS_VER(_comedi_get_subdevice_flags_old, comedi_get_subdevice_flags,0.7.18);
int _comedi_get_subdevice_flags_old(comedi_t *it,unsigned int subd)
{
- if(!valid_dev(it))
+ if(!valid_subd(it,subd))
return 0;
return it->subdevices[subd].subd_flags;
}
comedi_subdinfo *s;
int flags;
int ret;
- if(!valid_dev(it))
+ if(!valid_subd(it,subd))
return -1;
s = calloc(it->n_subdevices, sizeof(comedi_subdinfo));
if(s == NULL)
EXPORT_ALIAS_DEFAULT(_comedi_get_subdevice_type,comedi_get_subdevice_type,0.7.18);
int _comedi_get_subdevice_type(comedi_t *it,unsigned int subd)
{
- if(!valid_dev(it))
+ if(!valid_subd(it,subd))
return -1;
return it->subdevices[subd].type;
EXPORT_ALIAS_DEFAULT(_comedi_maxdata_is_chan_specific,comedi_maxdata_is_chan_specific,0.7.18);
int _comedi_maxdata_is_chan_specific(comedi_t *it,unsigned int subdevice)
{
+ if(!valid_subd(it,subdevice))
+ return -1;
if(it->subdevices[subdevice].maxdata_list)
return 1;
return 0;
EXPORT_ALIAS_DEFAULT(_comedi_range_is_chan_specific,comedi_range_is_chan_specific,0.7.18);
int _comedi_range_is_chan_specific(comedi_t *it,unsigned int subd)
{
+ if(!valid_subd(it,subd)) return -1;
return (it->subdevices[subd].subd_flags&SDF_RANGETYPE)?1:0;
}
EXPORT_ALIAS_DEFAULT(_comedi_sv_measure,comedi_sv_measure,0.7.18);
int _comedi_sv_measure(comedi_sv_t *it,double *data)
{
+ if(!it)return -1;
+ if(!valid_subd(it->dev,it->subdevice))return -1;
if(it->dev->subdevices[it->subdevice].subd_flags & SDF_LSAMPL){
return sv_measure_l(it,data);
}else{
{
int timer_type;
- if(!it || !trigvar || !actual_freq)
+ if(!valid_subd(it,subdev) || !trigvar || !actual_freq)
return -1;
timer_type=it->subdevices[subdev].timer_type;