src/core/ngx_core.h - nginx-1.7.10

Data types defined

Macros defined

Source code


  1. /*
  2. * Copyright (C) Igor Sysoev
  3. * Copyright (C) Nginx, Inc.
  4. */


  5. #ifndef _NGX_CORE_H_INCLUDED_
  6. #define _NGX_CORE_H_INCLUDED_


  7. typedef struct ngx_module_s      ngx_module_t;
  8. typedef struct ngx_conf_s        ngx_conf_t;
  9. typedef struct ngx_cycle_s       ngx_cycle_t;
  10. typedef struct ngx_pool_s        ngx_pool_t;
  11. typedef struct ngx_chain_s       ngx_chain_t;
  12. typedef struct ngx_log_s         ngx_log_t;
  13. typedef struct ngx_open_file_s   ngx_open_file_t;
  14. typedef struct ngx_command_s     ngx_command_t;
  15. typedef struct ngx_file_s        ngx_file_t;
  16. typedef struct ngx_event_s       ngx_event_t;
  17. typedef struct ngx_event_aio_s   ngx_event_aio_t;
  18. typedef struct ngx_connection_s  ngx_connection_t;

  19. typedef void (*ngx_event_handler_pt)(ngx_event_t *ev);
  20. typedef void (*ngx_connection_handler_pt)(ngx_connection_t *c);


  21. #define  NGX_OK          0
  22. #define  NGX_ERROR      -1
  23. #define  NGX_AGAIN      -2
  24. #define  NGX_BUSY       -3
  25. #define  NGX_DONE       -4
  26. #define  NGX_DECLINED   -5
  27. #define  NGX_ABORT      -6


  28. #include <ngx_errno.h>
  29. #include <ngx_atomic.h>
  30. #include <ngx_thread.h>
  31. #include <ngx_rbtree.h>
  32. #include <ngx_time.h>
  33. #include <ngx_socket.h>
  34. #include <ngx_string.h>
  35. #include <ngx_files.h>
  36. #include <ngx_shmem.h>
  37. #include <ngx_process.h>
  38. #include <ngx_user.h>
  39. #include <ngx_parse.h>
  40. #include <ngx_log.h>
  41. #include <ngx_alloc.h>
  42. #include <ngx_palloc.h>
  43. #include <ngx_buf.h>
  44. #include <ngx_queue.h>
  45. #include <ngx_array.h>
  46. #include <ngx_list.h>
  47. #include <ngx_hash.h>
  48. #include <ngx_file.h>
  49. #include <ngx_crc.h>
  50. #include <ngx_crc32.h>
  51. #include <ngx_murmurhash.h>
  52. #if (NGX_PCRE)
  53. #include <ngx_regex.h>
  54. #endif
  55. #include <ngx_radix_tree.h>
  56. #include <ngx_times.h>
  57. #include <ngx_shmtx.h>
  58. #include <ngx_slab.h>
  59. #include <ngx_inet.h>
  60. #include <ngx_cycle.h>
  61. #include <ngx_resolver.h>
  62. #if (NGX_OPENSSL)
  63. #include <ngx_event_openssl.h>
  64. #endif
  65. #include <ngx_process_cycle.h>
  66. #include <ngx_conf_file.h>
  67. #include <ngx_open_file_cache.h>
  68. #include <ngx_os.h>
  69. #include <ngx_connection.h>
  70. #include <ngx_syslog.h>
  71. #include <ngx_proxy_protocol.h>


  72. #define LF     (u_char) '\n'
  73. #define CR     (u_char) '\r'
  74. #define CRLF   "\r\n"


  75. #define ngx_abs(value)       (((value) >= 0) ? (value) : - (value))
  76. #define ngx_max(val1, val2)  ((val1 < val2) ? (val2) : (val1))
  77. #define ngx_min(val1, val2)  ((val1 > val2) ? (val2) : (val1))

  78. void ngx_cpuinfo(void);

  79. #if (NGX_HAVE_OPENAT)
  80. #define NGX_DISABLE_SYMLINKS_OFF        0
  81. #define NGX_DISABLE_SYMLINKS_ON         1
  82. #define NGX_DISABLE_SYMLINKS_NOTOWNER   2
  83. #endif

  84. #endif /* _NGX_CORE_H_INCLUDED_ */