A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
sim_errno.h
1 #ifndef NSC_SIM_ERRNO_H
2 #define NSC_SIM_ERRNO_H
3 
4 // list of network stack errors that may happen in a simulation,
5 // and can be handled by the simulator in a sane way.
6 // Note that NSC handles several errors internally though
7 // nsc_assert, BUG() and friends, because they (should) never
8 // happen in a simulation (e.g. ESOCKTNOSUPPORT).
9 //
10 // These values are returned by the various methods provided by nsc.
11 // They must always be < 0, as values >= 0 are a success indicator;
12 // e.g. send_data() will return the number of bytes sent or one of
13 // the nsc_errno numbers below, accept() will return 0 on success or
14 // one of the nsc_errno numbers below, etc.
15 enum nsc_errno {
16  NSC_EUNKNOWN = -1,
17  NSC_EADDRINUSE = -10,
18  NSC_EADDRNOTAVAIL = -11,
19  NSC_EAGAIN = -12,
20  NSC_EALREADY = -25,
21  NSC_ECONNREFUSED = -32,
22  NSC_ECONNRESET = -33,
23  NSC_EHOSTDOWN = -50,
24  NSC_EHOSTUNREACH = -51,
25  NSC_EINPROGRESS = -60,
26  NSC_EISCONN = -61,
27  NSC_EMSGSIZE = -70,
28  NSC_ENETUNREACH = -82,
29  NSC_ENOTCONN = -86,
30  NSC_ENOTDIR = -87, // used by sysctl(2)
31  NSC_ESHUTDOWN = -130,
32  NSC_ETIMEDOUT = -140,
33 };
34 
35 #endif /* NSC_SIM_ERRNO_H */