demo/mmap: check subdevice exists and supports 'read' commands
Check the subdevice actually exists and that it claims to support 'read' commands (SDF_CMD_READ subdevice flag set), bailing out early if not.
This commit is contained in:
parent
ad70295bb4
commit
facb713cd8
1 changed files with 14 additions and 0 deletions
14
demo/mmap.c
14
demo/mmap.c
|
@ -70,6 +70,20 @@ int main(int argc, char *argv[])
|
|||
fprintf(stderr, "defaulted to subdevice %d\n", options.subdevice);
|
||||
}
|
||||
|
||||
/* Check subdevice exists. */
|
||||
ret = comedi_get_n_subdevices(dev);
|
||||
if(ret <= options.subdevice){
|
||||
fprintf(stderr, "subdevice %d does not exist\n", options.subdevice);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
/* Check subdevice supports 'read' commands. */
|
||||
ret = comedi_get_subdevice_flags(dev, options.subdevice);
|
||||
if(ret < 0 || !(ret & SDF_CMD_READ)) {
|
||||
fprintf(stderr, "subdevice %d does not support 'read' commands\n", options.subdevice);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
ret = comedi_get_buffer_size(dev, options.subdevice);
|
||||
if(ret < 0){
|
||||
comedi_perror("comedi_get_buffer_size");
|
||||
|
|
Loading…
Add table
Reference in a new issue