#include <sys/types.h>
#include "libreplace/getopt.h"
#include <unistd.h>
#include <netdb.h>
#include <fcntl.h>
#include <time.h>
#include <signal.h>
#include <syslog.h>
#include <errno.h>
#include <sys/stat.h>
#include <sys/socket.h>
#include <sys/un.h>
#include <netinet/in.h>
#include <ctype.h>
#include <sys/wait.h>
#include <pthread.h>
#include "spf.h"
#include "spf_dns.h"
#include "spf_dns_null.h"
#include "spf_dns_resolv.h"
#include "spf_dns_test.h"
#include "spf_dns_cache.h"
Go to the source code of this file.
Data Structures | |
struct | config_t |
struct | request_t |
struct | state_t |
Defines | |
#define | TRUE 1 |
#define | FALSE 0 |
#define | bool int |
#define | FREE(x, f) do { if ((x)) (f)((x)); (x) = NULL; } while(0) |
#define | FREE_REQUEST(x) FREE((x), SPF_request_free) |
#define | FREE_RESPONSE(x) FREE((x), SPF_response_free) |
#define | FREE_STRING(x) FREE((x), free) |
#define | UNLESS(x) err = (x); if (err) |
#define | FAIL(x) do { goto fail; } while(0) |
#define | WARN(x, r) response_print_errors((x), (r), err) |
#define | DIE(x) do { fprintf(stderr, "%s\n", x); exit(1); } while(0) |
#define | STREQ(a, b) (strcmp((a), (b)) == 0) |
#define | NEW_REQUEST ((request_t *)calloc(1, sizeof(request_t))); |
Functions | |
void | usage (void) |
int | main (int argc, char *argv[]) |
#define DIE | ( | x | ) | do { fprintf(stderr, "%s\n", x); exit(1); } while(0) |
#define FAIL | ( | x | ) | do { goto fail; } while(0) |
#define FREE | ( | x, | |||
f | ) | do { if ((x)) (f)((x)); (x) = NULL; } while(0) |
#define FREE_REQUEST | ( | x | ) | FREE((x), SPF_request_free) |
#define FREE_RESPONSE | ( | x | ) | FREE((x), SPF_response_free) |
#define STREQ | ( | a, | |||
b | ) | (strcmp((a), (b)) == 0) |
#define UNLESS | ( | x | ) | err = (x); if (err) |
#define WARN | ( | x, | |||
r | ) | response_print_errors((x), (r), err) |
void usage | ( | void | ) |