a small step towards standardized comedi error codes
authorFrank Mori Hess <fmhess@speakeasy.net>
Wed, 2 May 2001 00:08:28 +0000 (00:08 +0000)
committerFrank Mori Hess <fmhess@speakeasy.net>
Wed, 2 May 2001 00:08:28 +0000 (00:08 +0000)
lib/comedi_errno.h [new file with mode: 0644]
lib/error.c

diff --git a/lib/comedi_errno.h b/lib/comedi_errno.h
new file mode 100644 (file)
index 0000000..af31410
--- /dev/null
@@ -0,0 +1,43 @@
+/*
+    comedi_errno.h
+    header file for comedi's symbolic error names
+
+    COMEDI - Linux Control and Measurement Device Interface
+    Copyright (C) 1997-2000 David A. Schleef <ds@stm.lbl.gov>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
+#ifndef _COMEDI_ERRNO_H
+#define _COMEDI_ERRNO_H
+
+#ifdef __KERNEL__
+#include <linux/errno.h>
+#else
+#include <errno.h>
+#endif
+
+// define symbolic error names, extensions peculiar to comedi
+#define COMEDI_NOERROR         0X1000
+
+#define EUNKNOWN               (COMEDI_NOERROR + 1)            // unknown error
+#define EBAD_CT                (COMEDI_NOERROR + 2)            // bad comedi_t struct
+#define EINVAL_SUBD            (COMEDI_NOERROR + 3)            // invalid subdevice
+#define EINVAL_CHAN            (COMEDI_NOERROR + 4)            // invalid channel
+#define EBUF_OVR               (COMEDI_NOERROR + 5)            // buffer overflow
+#define EBUF_UNDR              (COMEDI_NOERROR + 6)            // buffer underflow
+
+#endif // _COMEDI_ERRNO_H
index 2f8fbfa8f441bdf00c938e4f99c6fc2422857925..f92f9a5ceb14d696d85d7558c8609c68f80c064d 100644 (file)
@@ -25,7 +25,7 @@
 
 #include <stdio.h>
 #include <string.h>
-#include <errno.h>
+#include <comedi_errno.h>
 
 char *__comedilib_error_strings[]={
        "No error",
@@ -33,6 +33,8 @@ char *__comedilib_error_strings[]={
        "Bad comedi_t structure",
        "Invalid subdevice",
        "Invalid channel",
+       "Buffer overflow",
+       "Buffer underflow",
 };
 
 int __comedi_loglevel=1;
@@ -54,12 +56,12 @@ int comedi_errno(void)
 
 char *comedi_strerror(int errnum)
 {
-       if(errnum<COMEDILIB_NOERROR ||
-          errnum>=COMEDILIB_NOERROR+sizeof(__comedilib_error_strings)
+       if(errnum<COMEDI_NOERROR ||
+          errnum>=COMEDI_NOERROR+sizeof(__comedilib_error_strings)
           /sizeof(__comedilib_error_strings[0]))
                return strerror(errnum);
 
-       return __comedilib_error_strings[errnum-COMEDILIB_NOERROR];
+       return __comedilib_error_strings[errnum-COMEDI_NOERROR];
 }
 
 void comedi_perror(const char *s)