commit - 14854bc8c55b09bd630c60780bc78783b237d477
commit + 748e39c76deda5bcf20323b4c6955a72ae9e980f
blob - 0a700a0ff66e3ff542a44f3055ed3e3100ad5e08
blob + 9e6511fc8dbeaf5b70d67ef9082bc18e6850f5dd
--- smtp_proc.c
+++ smtp_proc.c
static void smtp_newline(int, short, void *);
static void smtp_connect(struct smtp_callback *, int, struct timespec *,
uint64_t, uint64_t, char *);
-static void smtp_data(struct smtp_callback *, int, struct timespec *,
+static void smtp_noargs(struct smtp_callback *, int, struct timespec *,
uint64_t, uint64_t, char *);
static void smtp_dataline(struct smtp_callback *, int, struct timespec *,
uint64_t, uint64_t, char *);
void *cb;
} smtp_callbacks[] = {
{"filter", "connect", "smtp-in", .smtp_filter = smtp_connect, NULL},
- {"filter", "data", "smtp-in", .smtp_filter = smtp_data, NULL},
+ {"filter", "data", "smtp-in", .smtp_filter = smtp_noargs, NULL},
{"filter", "data-line", "smtp-in", .smtp_filter = smtp_dataline, NULL},
+ {"filter", "commit", "smtp-in", .smtp_filter = smtp_noargs, NULL},
{"report", "link-disconnect", "smtp-in",
.smtp_report = smtp_in_link_disconnect, NULL}
};
}
int
+smtp_register_filter_commit(void (*cb)(char *, int, struct timespec *, char *,
+ char *, uint64_t, uint64_t))
+{
+ return smtp_register("filter", "commit", "smtp-in", (void *)cb);
+}
+
+int
smtp_in_register_report_disconnect(void (*cb)(char *, int, struct timespec *,
char *, char *, uint64_t))
{
}
static void
-smtp_data(struct smtp_callback *cb, int version, struct timespec *tm,
+smtp_noargs(struct smtp_callback *cb, int version, struct timespec *tm,
uint64_t reqid, uint64_t token, char *params)
{
void (*f)(char *, int, struct timespec *, char *, char *, uint64_t,
blob - 39a43d963a2e37a9f520a2229d53d6b73694db1e
blob + ca27bcad53dea8412d4a2739f4b25ef203fe4d4f
--- smtp_proc.h
+++ smtp_proc.h
char *, uint64_t, uint64_t));
int smtp_register_filter_dataline(void (*)(char *, int, struct timespec *, char *,
char *, uint64_t, uint64_t, char *));
+int smtp_register_filter_commit(void (*)(char *, int, struct timespec *, char *,
+ char *, uint64_t, uint64_t));
int smtp_in_register_report_disconnect(void (*)(char *, int, struct timespec *,
char *, char *, uint64_t));
void smtp_filter_proceed(uint64_t, uint64_t);