1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
|
This file is roughly based on your systems errno.h.
Many perl errors can be exported as errors defined in errno.h by doing the
following:
use Errno qw(EINTR EIO :POSIX);
or simply use Errno.
The semantics of this file are as follows:
A numerical error code followed by a human readable upper case short definition, which is followed by an
explanation of the actual error code.
We assume, that the interpreter you use returns an
error code of 1 upon failing to execute your script and an error code of 0 if
the execution is successful. This does NOT include any data passed from
the script or any errors which might occur during runtime, it is simply a
way for us to determine wheter your script started at all and if any more
output should be expected.
Some of the errors described below can be categorized, those categories range
from warning over critical to fatal.
An error which would terminate your script and therefore close the running
process, would be considered as fatal.
An error which would prevent your script from sending valid output, yet
not terminate its process would be considered as critical. Any other
error is considered as warning. A warning is always
OPTIONAL, critical errors and fatal errors MUST be implemented
Depending on which script language or programming language you use it is
up to you, to determine wheter an error is fatal, critical or just a warning,
some suggestions have been made in the list below.
Generic and system error section:
0 NOERR No error has been detected
1 EPERM The operation is not permitted by the executing program.
Which means, that some fatal error occurred and
your script could not even be started.
2 ENOENT A file or directory your script wanted to read or write
could not be found and the scripts operation was
hampered by that.
5 EIO There has been an error while your script
attempted to read or write data
7 E2BIG If your scripts accepts arguments at the command
line, this error means, that too many arguments
were entered. This error code is not in
effect yet.
8 ENOEXEC If your script relies on system level programs and that
program could not be executed, use this
error code to report that to
knewsticker. This is an informational
error code and not necessarily a fatal
one
13 EACCESS permission to a resource or file has been denied to
your script, which does not allow it to
properly function, this error is fatal
and should be followed at once by
and exit code of 1
19 ENODEV A device you are trying to write to is not
available, as above this error code is
fatal, it should be followed by an exit
code of 1 to terminate your scripts
operation.
28 ENOSPC There is no more space left on the device you are
trying to write a temporary file to.
30 EROFS You are trying to write a temporary file to an
read only file system
38 ENOSYS Your script tried to call a function which was not
implemented or it is trying to access an
external resource which does not exist.
You can also use this error code when
you are writing a perl script and the
modules functions you are trying to
access is not present.
61 ENODATA Your script has not been able to retrieve any data.
Thus no XML can be returned. This error
is critical, yet not necessarily fatal.
---------------------------------------------------------
Network related errors.
64 ENONET The machine you are using is not connected to a
network. This error is fatal
71 EPROTO Your script tried to access a protocol which is not
implemented. This would mean, that you
are trying to use SNMP on a system that
does not understand it
89 EDESTADDRREQ Your script requires for the user to enter a destination
address to retrieve data from.
This error is used when that has
not been done. It is
informational yet fatal
to the script
94 ESOCKTNOSUPPORT Your script is trying to use a socket type not supported
by the system, for
example trying to open a
unix socket of a
system where this is not
supported
101 ENETUNREACH The network you are trying to access is
unreachable
102 ENETRESET The network you were trying to access dropped the
connection with a reset
104 ECONNRESET The connection you had has been reset by your peer
110 ETIMEDOUT The connection you were trying to establish timed out
111 ECONNREFUSED The connection you were trying to established has been refused
112 EHOSTDOWN The host you are trying to reach is down
113 EHOSTUNREACH The host you are trying to reach is unreachable, no route
to host
Please NOTE that above error codes ONLY correspond to the error numbers defined
on Linux i386 machines if you wish to use the Perl method mentioned.
The error codes which are mentioned above are _reserved_ for newsticker internal
use and have not necessarily anything to do with the error codes returned by
your system.
----------------
Since we are possibly dealing often with HTTP error codes this is a specialized
section you may use to return errors based on that protocol.
These error codes correspond to the actual HTTP error codes, thus enabling
you to handle them easier when passing them on to Knewsticker.
Client errors:
400 EBADREQ Bad Request. Your script sent a bad request, not
understood by the server, which is
reporting this back to you.
401 ENOAUTH No authorization has been issued for an area that needs
some form of authorization before it can
be accessed
402 EMUSTPAY You cannot access the data without paying for it, this
is not a bogus error, it is defined as
such in the http protocol
403 EFORBIDDEN You are forbidden to access the source you requested
404 ENOTFOUND The data you tried to access could not be found.
408 ETIMEOUT Your HTTP request timed out, this is an error which
reflects timeouts for the HTTP protocol
ONLY. Generic time outs are handled in
the above paragraph
Server errors:
500 ESERVERE A server error has been encountered.
505 EHTTPNOSUP The HTTP protocol version you attempted to use was not
understood by the http server or source
you were trying to access
-------------------
|