NGINX----源码阅读---数据结构---配置文件相关
1 typedef struct { 2 ngx_file_t file; 3 ngx_buf_t *buffer; 4 ngx_buf_t *dump; 5 ngx_uint_t line; 6 } ngx_conf_file_t;
core/ngx_conf_file.h
buffer:配置文件缓存,在配置文件解析时提供缓存作用。
dump:
line:当前配置文件解析的行数
file:配置文件的相关信息:
core/ngx_file.h
struct ngx_file_s { //nginx文件基础结构 ngx_fd_t fd; ngx_str_t name; //文件名称 ngx_file_info_t info; //文件信息 off_t offset; //当前文件读写位置 off_t sys_offset; ngx_log_t *log; //文件日志 #if (NGX_THREADS) ngx_int_t (*thread_handler)(ngx_thread_task_t *task, ngx_file_t *file); void *thread_ctx; ngx_thread_task_t *thread_task; #endif #if (NGX_HAVE_FILE_AIO) ngx_event_aio_t *aio; #endif unsigned valid_info:1; unsigned directio:1; };
core/ngx_core.h
typedef struct ngx_file_s ngx_file_t;
ngx_fd的数据结构如下:
src\os\unix\ngx_files.h
typedef int ngx_fd_t; typedef struct stat ngx_file_info_t;