-
Notifications
You must be signed in to change notification settings - Fork 208
/
ngx_errno.h
92 lines (75 loc) · 2.51 KB
/
ngx_errno.h
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
// annotated by chrono since 2016
/*
* Copyright (C) Igor Sysoev
* Copyright (C) Nginx, Inc.
*/
#ifndef _NGX_ERRNO_H_INCLUDED_
#define _NGX_ERRNO_H_INCLUDED_
#include <ngx_config.h>
#include <ngx_core.h>
// 重定义unix的错误码类型
typedef int ngx_err_t;
// 重定义unix错误码
// 较重要的有:
// NGX_EINTR,发生系统中断
// NGX_ENFILE/NGX_EMFILE,系统文件描述符不足
// NGX_EINPROGRESS,发起上游连接,但还没有连接成功,之后调用get option来检测是否成功
// NGX_ETIMEDOUT,超时错误
// NGX_EAGAIN,非阻塞调用专用错误码,未准备好,需重试
#define NGX_EPERM EPERM
#define NGX_ENOENT ENOENT
#define NGX_ENOPATH ENOENT
#define NGX_ESRCH ESRCH
#define NGX_EINTR EINTR
#define NGX_ECHILD ECHILD
#define NGX_ENOMEM ENOMEM
#define NGX_EACCES EACCES
#define NGX_EBUSY EBUSY
#define NGX_EEXIST EEXIST
#define NGX_EEXIST_FILE EEXIST
#define NGX_EXDEV EXDEV
#define NGX_ENOTDIR ENOTDIR
#define NGX_EISDIR EISDIR
#define NGX_EINVAL EINVAL
#define NGX_ENFILE ENFILE
#define NGX_EMFILE EMFILE
#define NGX_ENOSPC ENOSPC
#define NGX_EPIPE EPIPE
#define NGX_EINPROGRESS EINPROGRESS
#define NGX_ENOPROTOOPT ENOPROTOOPT
#define NGX_EOPNOTSUPP EOPNOTSUPP
#define NGX_EADDRINUSE EADDRINUSE
#define NGX_ECONNABORTED ECONNABORTED
#define NGX_ECONNRESET ECONNRESET
#define NGX_ENOTCONN ENOTCONN
#define NGX_ETIMEDOUT ETIMEDOUT
#define NGX_ECONNREFUSED ECONNREFUSED
#define NGX_ENAMETOOLONG ENAMETOOLONG
#define NGX_ENETDOWN ENETDOWN
#define NGX_ENETUNREACH ENETUNREACH
#define NGX_EHOSTDOWN EHOSTDOWN
#define NGX_EHOSTUNREACH EHOSTUNREACH
#define NGX_ENOSYS ENOSYS
#define NGX_ECANCELED ECANCELED
#define NGX_EILSEQ EILSEQ
#define NGX_ENOMOREFILES 0
#define NGX_ELOOP ELOOP
#define NGX_EBADF EBADF
#define NGX_EMSGSIZE EMSGSIZE
#if (NGX_HAVE_OPENAT)
#define NGX_EMLINK EMLINK
#endif
#if (__hpux__)
#define NGX_EAGAIN EWOULDBLOCK
#else
#define NGX_EAGAIN EAGAIN
#endif
// 重命名错误码errno,更清楚
#define ngx_errno errno
#define ngx_socket_errno errno
// 设置错误码的操作
#define ngx_set_errno(err) errno = err
#define ngx_set_socket_errno(err) errno = err
u_char *ngx_strerror(ngx_err_t err, u_char *errstr, size_t size);
ngx_int_t ngx_strerror_init(void);
#endif /* _NGX_ERRNO_H_INCLUDED_ */