Added comedi_get_hardware_buffer_size() wrapper function, and made
authorFrank Mori Hess <fmhess@speakeasy.net>
Fri, 28 Mar 2008 15:56:35 +0000 (15:56 +0000)
committerFrank Mori Hess <fmhess@speakeasy.net>
Fri, 28 Mar 2008 15:56:35 +0000 (15:56 +0000)
comedi_strerror return a const char*.

include/comedilib.h
lib/error.c
lib/insn_config_wrappers.c
lib/version_script

index db2eb95105ab5eb8785c0fe1ac016ecccfe15e48..3e244281fc4b0403b302b62ff21d5f1885aa42d4 100644 (file)
@@ -71,7 +71,7 @@ int comedi_close(comedi_t *it);
 /* logging */
 int comedi_loglevel(int loglevel);
 void comedi_perror(const char *s);
-char *comedi_strerror(int errnum);
+const char *comedi_strerror(int errnum);
 int comedi_errno(void);
 int comedi_fileno(comedi_t *it);
 
@@ -286,6 +286,7 @@ int comedi_set_gate_source(comedi_t *device, unsigned subdevice, unsigned channe
 int comedi_set_other_source(comedi_t *device, unsigned subdevice, unsigned channel,
        unsigned other, unsigned source);
 int comedi_set_routing(comedi_t *device, unsigned subdevice, unsigned channel, unsigned routing);
+int comedi_get_hardware_buffer_size(comedi_t *device, unsigned subdevice, enum comedi_io_direction direction);
 
 #endif
 
index 2f55e1f0a1e9b81faf7680563b3eea5acec25b2f..d88c78c412604661a367d94c09190111f5739bf8 100644 (file)
@@ -59,7 +59,7 @@ int _comedi_errno(void)
 }
 
 EXPORT_ALIAS_DEFAULT(_comedi_strerror,comedi_strerror,0.7.18);
-char* _comedi_strerror(int errnum)
+const char* _comedi_strerror(int errnum)
 {
        if(errnum<COMEDI_NOERROR || errnum>=COMEDI_NOERROR+n_errors)
                return strerror(errnum);
index 3d86afd7bcedd99973f2f24580541c4c3a7e09bf..83614256e8649fb1af315f6d2d1e5ff7302046a0 100644 (file)
@@ -276,3 +276,22 @@ int _comedi_set_routing(comedi_t *device, unsigned subdevice, unsigned channel,
        if(comedi_do_insn(device, &insn) >= 0) return 0;
        else return -1;
 }
+
+EXPORT_ALIAS_DEFAULT(_comedi_get_hardware_buffer_size,comedi_get_hardware_buffer_size,0.9.0);
+int _comedi_get_hardware_buffer_size(comedi_t *device, unsigned subdevice, enum comedi_io_direction direction)
+{
+       comedi_insn insn;
+       lsampl_t data[3];
+
+       memset(&insn, 0, sizeof(comedi_insn));
+       insn.insn = INSN_CONFIG;
+       insn.subdev = subdevice;
+       insn.data = data;
+       insn.n = sizeof(data) / sizeof(data[0]);
+       memset(insn.data, 0, insn.n * sizeof(insn.data[0]));
+       data[0] = INSN_CONFIG_GET_HARDWARE_BUFFER_SIZE;
+       data[1] = direction;
+
+       if(comedi_do_insn(device, &insn) >= 0) return data[2];
+       else return -1;
+}
index 2b608ab9f39bd21bc0d9faf8f5fc892b4772addc..6721f23bd9772053133d0933e3de0ac768906f20 100644 (file)
@@ -108,4 +108,5 @@ v0.9.0 {
                comedi_internal_trigger;
                comedi_set_other_source;
                comedi_set_routing;
+               comedi_get_hardware_buffer_size;
 } v0.8.0;