Nginx mail相关模块结构体
ngx_mail_module_t
这是mail模块的抽象接口,即ngx_module_t中的ctx成员所指向的mail模块特有接口。每一个mail模块都会实现自己的ngx_mail_module_t结构体。
typedef struct {
// POP3 STMP IMAP邮件模块提取出的通用接口
ngx_mail_protocol_t *protocol;
// 用于创建main级别配置项的结构体
void *(*create_main_conf)(ngx_conf_t *cf);
// 解析完main级别配置项后被回调的函数
char *(*init_main_conf)(ngx_conf_t *cf, void *conf);
// 用于创建srv级别配置项的结构体
void *(*create_srv_conf)(ngx_conf_t *cf);
// 根据具体模块处理srv下和main下同名的配置项
char *(*merge_srv_conf)(ngx_conf_t *cf, void *prev,
void *conf);
} ngx_mail_module_t;
ngx_protocol_s
typedef struct ngx_mail_protocol_s ngx_mail_protocol_t;
// 四个POP3 SMTP IMAP等应用级别的邮件模块所需要实现的接口方法
typedef void (*ngx_mail_init_session_pt)(ngx_mail_session_t *s,
ngx_connection_t *c);
typedef void (*ngx_mail_init_protocol_pt)(ngx_event_t *rev);
typedef void