Socket Error Constants

The following table provides the error constants set by socket calls. This table can be found in the <NERRNO.H> header file.

/*
* The redefinition of error constants is necessary to avoid conflict with
* standard compiler error constants.
*
* All OS/2 SOCKETS API error constants are biased by SOCBASEERR from the "normal"
*
*/

#define SOCBASEERR              10000

/*
* OS/2 SOCKETS  API definitions of regular Microsoft C 6.0 error constants
*/

#define SOCEPERM           (SOCBASEERR+1)   /*Not owner*/
#define SOCESRCH           (SOCBASEERR+3)   /*No such process*/
#define SOCEINTR           (SOCBASEERR+4)   /*Interrupted system call*/
#define SOCENXIO           (SOCBASEERR+6)   /*No such device or address*/
#define SOCEBADF           (SOCBASEERR+9)   /*Bad file number*/
#define SOCEACCES          (SOCBASEERR+13)  /*Permission denied*/
#define SOCEFAULT          (SOCBASEERR+14)  /*Bad address*/
#define SOCEINVAL          (SOCBASEERR+22)  /*Invalid argument*/
#define SOCEMFILE          (SOCBASEERR+24)  /*Too many open files*/
#define SOCEPIPE           (SOCBASEERR+32)  /*Broken pipe*/

#define SOCEOS2ERR         (SOCBASEERR+100) /*OS/2 Error*/

/*
* OS/2 SOCKETS API definitions of regular BSD error constants
*/

#define SOCEWOULDBLOCK     (SOCBASEERR+35)  /*Operation would block*/
#define SOCEINPROGRESS     (SOCBASEERR+36)  /*Operation now in progress*/
#define SOCEALREADY        (SOCBASEERR+37)  /*Operation already in progress*/
#define SOCENOTSOCK        (SOCBASEERR+38)  /*Socket operation on non-socket*/
#define SOCEDESTADDRREQ    (SOCBASEERR+39)  /*Destination address required*/
#define SOCEMSGSIZE        (SOCBASEERR+40)  /*Message too long*/
#define SOCEPROTOTYPE      (SOCBASEERR+41)  /*Protocol wrong type for socket*/
#define SOCENOPROTOOPT     (SOCBASEERR+42)  /*Protocol not available*/
#define SOCEPROTONOSUPPORT (SOCBASEERR+43)  /*Protocol not supported*/
#define SOCESOCKTNOSUPPORT (SOCBASEERR+44)  /*Socket type not supported*/
#define SOCEOPNOTSUPP      (SOCBASEERR+45)  /*Operation not supported on socket*/
#define SOCEPFNOSUPPORT    (SOCBASEERR+46)  /*Protocol family not supported*/
#define SOCEAFNOSUPPORT    (SOCBASEERR+47)  /*Address family not supported by protocol family*/
#define SOCEADDRINUSE      (SOCBASEERR+48)  /*Address already in use*/
#define SOCEADDRNOTAVAIL   (SOCBASEERR+49)  /*Can't assign requested address*/
#define SOCENETDOWN        (SOCBASEERR+50)  /*Network is down*/
#define SOCENETUNREACH     (SOCBASEERR+51)  /*Network is unreachable*/
#define SOCENETRESET       (SOCBASEERR+52)  /*Network dropped connection on reset*/
#define SOCECONNABORTED    (SOCBASEERR+53)  /*Software caused connection abort*/
#define SOCECONNRESET      (SOCBASEERR+54)  /*Connection reset by peer*/
#define SOCENOBUFS         (SOCBASEERR+55)  /*No buffer space available*/
#define SOCEISCONN         (SOCBASEERR+56)  /*Socket is already connected*/
#define SOCENOTCONN        (SOCBASEERR+57)  /*Socket is not connected*/
#define SOCESHUTDOWN       (SOCBASEERR+58)  /*Can't send after socket shutdown*/
#define SOCETOOMANYREFS    (SOCBASEERR+59)  /*Too many references: can't splice*/
#define SOCETIMEDOUT       (SOCBASEERR+60)  /*Connection timed out*/
#define SOCECONNREFUSED    (SOCBASEERR+61)  /*Connection refused*/
#define SOCELOOP           (SOCBASEERR+62)  /*Too many levels of symbolic links*/
#define SOCENAMETOOLONG    (SOCBASEERR+63)  /*File name too long*/
#define SOCEHOSTDOWN       (SOCBASEERR+64)  /*Host is down*/
#define SOCEHOSTUNREACH    (SOCBASEERR+65)  /*No route to host*/
#define SOCENOTEMPTY       (SOCBASEERR+66)  /*Directory not empty*/

/*
* OS/2 SOCKETS API errors redefined as regular BSD error constants
*/

#define EWOULDBLOCK         SOCEWOULDBLOCK
#define EINPROGRESS         SOCEINPROGRESS
#define EALREADY            SOCEALREADY
#define ENOTSOCK            SOCENOTSOCK
#define EDESTADDRREQ        SOCEDESTADDRREQ
#define EMSGSIZE            SOCEMSGSIZE
#define EPROTOTYPE          SOCEPROTOTYPE
#define ENOPROTOOPT         SOCENOPROTOOPT
#define EPROTONOSUPPORT     SOCEPROTONOSUPPORT
#define ESOCKTNOSUPPORT     SOCESOCKTNOSUPPORT
#define EOPNOTSUPP          SOCEOPNOTSUPP
#define EPFNOSUPPORT        SOCEPFNOSUPPORT
#define EAFNOSUPPORT        SOCEAFNOSUPPORT
#define EADDRINUSE          SOCEADDRINUSE
#define EADDRNOTAVAIL       SOCEADDRNOTAVAIL
#define ENETDOWN            SOCENETDOWN
#define ENETUNREACH         SOCENETUNREACH
#define ENETRESET           SOCENETRESET
#define ECONNABORTED        SOCECONNABORTED
#define ECONNRESET          SOCECONNRESET
#define ENOBUFS             SOCENOBUFS
#define EISCONN             SOCEISCONN
#define ENOTCONN            SOCENOTCONN
#define ESHUTDOWN           SOCESHUTDOWN
#define ETOOMANYREFS        SOCETOOMANYREFS
#define ETIMEDOUT           SOCETIMEDOUT
#define ECONNREFUSED        SOCECONNREFUSED
#define ELOOP               SOCELOOP
#define ENAMETOOLONG        SOCENAMETOOLONG
#define EHOSTDOWN           SOCEHOSTDOWN
#define EHOSTUNREACH        SOCEHOSTUNREACH
#define ENOTEMPTY           SOCENOTEMPTY


[Back: NETWORKS File Structure]
[Next: Well-Known Port Assignments]