C Socket errno Codes

This chapter defines errno codes returned by the TCPaccess IUCV C socket functions. It includes these sections:

Overview

When an IUCV C socket function completes, the errno value provides additional information about the error reported. errno values are set when the return code is negative.

errno Code Table

The values of errno shown in this table are returned to C socket library applications when the return value is -1:

errno Name

Value

Description

EPERM

1

Not owner

ENOENT

2

No such file

ESRCH

3

No such process

EINTR

4

Interrupted system

EIO

5

I/O error

ENXIO

6

No such device

E2BIG

7

Argument list too long

ENOEXEC

8

Exec format error

EBADF

9

Bad file number

ECHILD

10

No children

EAGAIN

11

No more processes

ENOMEM

12

Not enough core

EACCES

13

Permission denied

EFAULT

14

Bad address

ENOTBLK

15

Block device required

EBUSY

16

Mount device busy

EEXIST

17

File exists

EXDEV

18

Cross-device link

ENODEV

19

No such device

ENOTDIR

20

Not a directory

EISDIR

21

Is a directory

EINVAL

22

Invalid argument

ENFILE

23

File table overflow

EMFILE

24

Too many open file

ENOTTY

25

Not a typewriter

ETXTBSY

26

Text file busy

EFBIG

27

File too large

ENOSPC

28

No space left on

ESPIPE

29

Illegal seek

EROFS

30

Read-only file system

EMLINK

31

Too many links

EPIPE

32

Broken pipe

EWOULDBLOCK

35

Operation would block

EINPROGRESS

36

Operation now in progress

EALREADY

37

Operation already in progress

ENOTSOCK

38

Socket operation on

EDESTADDRREQ

39

Destination address required

EMSGSIZE

40

Message too long

EPROTOTYPE

41

Protocol wrong type

ENOPROTOOPT

42

Protocol not available

EPROTONOSUPPORT

43

Protocol not supported

ESOCKTNOSUPPORT

44

Socket type not supported

EOPNOTSUPP

45

Operation not supported

EPFNOSUPPORT

46

Protocol family not supported

EAFNOSUPPORT

47

Address family not supported

EADDRINUSE

48

Address already in use

EADDRNOTAVAIL

49

Can't assign requested address

ENETDOWN

50

Network is down

ENETUNREACH

51

Network is unreachable

ENETRESET

52

Network dropped connection

ECONNABORTED

53

Software caused connection

ECONNRESET

54

Connection reset by peer

ENOBUFS

55

No buffer space available

EISCONN

56

Socket is already connected

ENOTCONN

57

Socket is not connected

ESHUTDOWN

58

Can't send after shutdown

ETOOMANYREFS

59

Too many references

ETIMEDOUT

60

Connection timed out

ECONNREFUSED

61

Connection refused

ELOOP

62

Too many levels of nesting

ENAMETOOLONG

63

File name too long

EHOSTDOWN

64

Host is down

EHOSTUNREACH

65

No route to host

ENOTEMPTY

66

Directory not empty

EPROCLIM

67

Too many processes

EUSERS

68

Too many users

EDQUOT

69

Disc quota exceeded

ESTALE

70

Stale NFS file handle

EREMOTE

71

Too many levels of remote in the path

ENOSTR

72

Device is not a stream

ETIME

73

Timer expired

ENOSR

74

Out of streams resources

ENOMSG

75

No message

EBADMSG

76

Trying to read unreadable message

EIDRM

77

Identifier removed

EDEADLK

78

Deadlock condition

ENOLCK

79

No record locks available

ENONET

80

Machine is not on network

ERREMOTE

81

Object is remote

ENOLINK

82

The link has been severed

EADV

83

ADVERTISE error

ESRMNT

84

SRMOUNT error

ECOMM

85

Communication error

EPROTO

86

Protocol error

EMULTIHOP

87

Multihop attempted

EDOTDOT

88

Cross mount point

EREMCHG

89

Remote address change

EIBMBADCALL

1000

A bad socket-call constant was found in the IUCV header

EIBMBADPARM

1001

Other IUCV header error, bad length, etc.

EIBMSOCKOUTOFRANGE

1002

Socket number assigned by client interface code (for socket() and accept()) is out of range

EIBMSOCKINUSE

1003

Socket number assigned by client interface code is already in use

EIBMIUCVERR

1004

Request failed due to IUCV error

EIBMCONFLICT

1008

Conflicting call already outstanding on socket

EIBMCANCELLED

1009

Request cancelled via socket function CANCEL request



IPRCODE Table

The codes shown in this table are returned to applications by the IUCV transport and may also be displayed as C socket or macro API return codes:

IPRCODE

Description

1

Invalid path ID

2

Path quiesced - no sends allowed

3

Message limit exceeded

4

Priority messages not allowed on path

5

Buffer too short for message

6

Fetch protection exception

7

Addressing exception

8

Message ID found, but class/path invalid

9

Message has been purged

10

Message length negative

11

Target is not logged on

12

Target has not declared a buffer

13

Invoker max connections exceeded

14

Target maximum connections exceeded

15

Not authorized to connect to target

16

Invalid CP system service name

17

Invalid function code

18

Invalid message limit

19

Already has declared a buffer

20

Path has been severed

21

Parameter list message not allowed

22

Send list invalid

23

Negative length in list

24

Reserved: VM/SP uses this IPRCODE to flag invalid total list length

25

PRMMSG and BUF/ANSLIST not allowed

26

Buffer list not double-word aligned

27

Answer list not double-word aligned

28

No control buffer exists