Linux错误代码含义

 
  
首先在自己的程序中#include
添加打印errno的语句 printf("errno is: %d\n",errno);
根据errno的值查错。
perror("xxxx");//会将错误信息打印出来,
printf("%m")
printf("%s",strerror(errno));  //这两个也可以将错误码打印出来


linux内核4.9版本中在这两个文件下定义

include/uapi/asm-generic/errno-base.h

include/uapi/asm-generic/errno.h


常用linux错误代码含义,如下表所示:

名称

描述

EPERM

1

操作不允许

ENOENT

2

无此文件或目录

ESRCH

3

无此进程

EINTR

4

中断系统调用

EIO

5

I/O 错误

ENXIO

6

无此设备或地址

E2BIG

7

参数列表过长

ENOEXEC

8

执行文件错误

EBADF

9

错误的文件数

ECHILD

10

无子进程

EAGAIN

11

再尝试一下

ENOMEM

12

内存溢出

EACCES

13

要求被否定

EFAULT

14

错误地址

ENOTBLK

15

块设备请求

EBUSY

16

设备或者资源忙

EEXIST

17

文件存在

EXDEV

18

Cross-device link

ENODEV

19

无此设备

ENOTDIR

20

不是一个目录文件

EISDIR

21

I是一个目录文件

EINVAL

22

无效的参数

ENFILE

23

文件表溢出

EMFILE

24

打开文件过多

ENOTTY

25

不是一个TTY设备

ETXTBSY

26

文件忙

EFBIG

27

文件过大

ENOSPC

28

此设备上没有空间了

ESPIPE

29

无效的偏移

EROFS

30

只读文件系统

EMLINK

31

链接过多

EPIPE

32

错误的管道

EDOM

33

Math argument out of domain

ERANGE

34

Math result not representable

EDEADLK

35

Resource deadlock would occur

ENAMETOOLONG

36

文件名过长

ENOLCK

37

No record locks available

ENOSYS

38

函数没有实现

ENOTEMPTY

39

目录非空

ELOOP

40

Too many symbolic links encountered

EWOULDBLOCK

41

Same as EAGAIN

ENOMSG

42

No message of desired type

EIDRM

43

Identifier removed

ECHRNG

44

Channel number out of range

EL2NSYNC

45

Level 2 not synchronized

EL3HLT

46

Level 3 halted

EL3RST

47

Level 3 reset

ELNRNG

48

Link number out of range

EUNATCH

49

Protocol driver not attached

ENOCSI

50

No CSI structure available

EL2HLT

51

Level 2 halted

EBADE

52

Invalid exchange

EBADR

53

Invalid request descriptor

EXFULL

54

Exchange full

ENOANO

55

No anode

EBADRQC

56

Invalid request code

EBADSLT

57

Invalid slot

EDEADLOCK

58 

Same as EDEADLK

EBFONT

59

Bad font file format

ENOSTR

60

Device not a stream

ENODATA

61

No data available

ETIME

62

Timer expired

ENOSR

63

Out of streams resources

ENONET

64

Machine is not on the network

ENOPKG

65

Package not installed

EREMOTE

66

Object is remote

ENOLINK

67

Link has been severed

EADV

68

Advertise error

ESRMNT

69

Srmount error

ECOMM

70

Communication error on send

EPROTO

71

Protocol error

EMULTIHOP

72

Multihop attempted

EDOTDOT

73

RFS specific error

EBADMSG

74

Not a data message

EOVERFLOW

75

Value too large for defined data type

ENOTUNIQ

76

Name not unique on network

EBADFD

77

File descriptor in bad state

EREMCHG

78

Remote address changed

ELIBACC

79

Cannot access a needed shared library

ELIBBAD

80

Accessing a corrupted shared library

ELIBSCN

81

A .lib section in an .out is corrupted

ELIBMAX

82

Linking in too many shared libraries

ELIBEXEC

83

Cannot exec a shared library directly

EILSEQ

84

Illegal byte sequence

ERESTART

85

Interrupted system call should be restarted

ESTRPIPE

86

Streams pipe error

EUSERS

87

Too many users

ENOTSOCK

88

Socket operation on non-socket

EDESTADDRREQ

89

Destination address required

EMSGSIZE

90

Message too long

EPROTOTYPE

91

Protocol wrong type for socket

ENOPROTOOPT

92

Protocol not available

EPROTONOSUPPORT

93

Protocol not supported

ESOCKTNOSUPPORT

94

Socket type not supported

EOPNOTSUPP

95

Operation not supported on transport

EPFNOSUPPORT

96

Protocol family not supported

EAFNOSUPPORT

97

Address family not supported by protocol

EADDRINUSE

98

Address already in use

EADDRNOTAVAIL

99

Cannot assign requested address

ENETDOWN

100

Network is down

ENETUNREACH

101

Network is unreachable

ENETRESET

102

Network dropped

ECONNABORTED

103

Software caused connection

ECONNRESET

104

Connection reset by

ENOBUFS

105

No buffer space available

EISCONN

106

Transport endpoint

ENOTCONN

107

Transport endpoint

ESHUTDOWN

108

Cannot send after transport

ETOOMANYREFS

109

Too many references

ETIMEDOUT

110

Connection timed

ECONNREFUSED

111

Connection refused

EHOSTDOWN

112

Host is down

EHOSTUNREACH

113

No route to host

EALREADY

114

Operation already

EINPROGRESS

115

Operation now in

ESTALE

116

Stale NFS file handle

EUCLEAN

117

Structure needs cleaning

ENOTNAM

118

Not a XENIX-named

ENAVAIL

119

No XENIX semaphores

EISNAM

120

Is a named type file

EREMOTEIO

121

Remote I/O error

EDQUOT

122

Quota exceeded

ENOMEDIUM

123

No medium found

EMEDIUMTYPE

124

Wrong medium type


errno0 :     Success

errno1 :     Operation not permitted

errno2 :     No such file or directory

errno3 :     No such process

errno4 :     Interrupted system call

errno5 :     Input/output error

errno6 :     No such device or address

errno7 :     Argument list too long

errno8 :     Exec format error

errno9 :     Bad file descriptor

errno10 :    No child processes

errno11 :    Resource temporarily unavailable

errno12 :    Cannot allocate memory

errno13 :    Permission denied

errno14 :    Bad address

errno15 :    Block device required

errno16 :    Device or resource busy

errno17 :    File exists

errno18 :    Invalid cross-device link

errno19 :    No such device

errno20 :    Not a directory

errno21 :    Is a directory

errno22 :    Invalid argument

errno23 :    Too many open files in system

errno24 :    Too many open files

errno25 :    Inappropriate ioctl for device

errno26 :    Text file busy

errno27 :    File too large

errno28 :    No space left on device

errno29 :    Illegal seek

errno30 :    Read-only file system

errno31 :    Too many links

errno32 :    Broken pipe




你可能感兴趣的:(inux驱动开发,Linux开发,linux错误处理)