00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef IXLIB_EXIO
00011 #define IXLIB_EXIO
00012
00013
00014
00015
00016 #include <cerrno>
00017 #include <ixlib_exbase.hh>
00018
00019
00020
00021
00022
00023 #define ECIO_NOMATCH 1
00024 #define ECIO_NOWILD 2
00025 #define ECIO_INVALIDPATH 3
00026 #define ECIO_INVALIDDOSPATH 4
00027 #define ECIO_SEEK 5
00028 #define ECIO_READEND 6
00029 #define ECIO_WRITEEND 7
00030 #define ECIO_READONLY 8
00031 #define ECIO_CLIP 9
00032
00033 #define ECIO_INTERNAL 10
00034 #define ECIO_NOTFOUND 11
00035 #define ECIO_ACCESS 12
00036 #define ECIO_EXISTS 13
00037 #define ECIO_NFILES 14
00038 #define ECIO_SPACE 15
00039 #define ECIO_2BIG 16
00040 #define ECIO_HARDWARE 17
00041
00042 #define ECIO_INVALIDJOINPATH 18
00043 #define ECIO_CONTINUITY 19
00044 #define ECIO_UNSUPPORTED 20
00045 #define ECIO_FILEFORMAT 21
00046 #define ECIO_WILDREPLACE 22
00047
00048 #define ECIO_INVALIDCHUNK 23
00049
00050 #define ECIO_CRC 24
00051
00052
00053
00054
00055
00056 namespace ixion {
00057 struct io_exception : public base_exception {
00058 io_exception(TErrorCode error,char const *info = NULL,char *module = NULL,
00059 TIndex line = 0)
00060 : base_exception(error,info,module,line,"IO")
00061 { }
00062 io_exception(char const *info = NULL,char *module = NULL,TIndex line = 0)
00063 : base_exception(getErrNoError(),info,module,line,"IO")
00064 { }
00065 virtual char *getText() const;
00066
00067 private:
00068 TErrorCode getErrNoError();
00069 };
00070 }
00071
00072
00073
00074
00075 #endif