Qsmtp  0.37
qremote.h
Go to the documentation of this file.
1 
4 #ifndef QREMOTE_H
5 #define QREMOTE_H 1
6 
7 #include "sstring.h"
8 
9 #include <netinet/in.h>
10 
11 struct ips;
12 
13 extern void err_mem(const int) __attribute__ ((noreturn));
14 extern void err_conf(const char *) __attribute__ ((noreturn)) __attribute__ ((nonnull (1)));
15 extern void err_confn(const char **, void *) __attribute__ ((noreturn)) __attribute__ ((nonnull (1)));
16 
17 extern void remote_common_setup(void);
18 
31 extern int netget(const unsigned int terminate);
32 
38 extern void write_status_raw(const char *str, const size_t len) __attribute__ ((nonnull (1)));
39 
47 extern void write_status(const char *str) __attribute__ ((nonnull (1)));
48 
57 extern void write_status_m(const char **strs, const unsigned int count) __attribute__ ((nonnull (1)));
58 
64 extern void write_status_raw_m(const char **strs, const unsigned int count) __attribute__ ((nonnull (1)));
65 
76 extern int send_envelope(const unsigned int recodeflag, const char *sender, int rcptcount, char **rcpts);
77 
78 extern char *rhost;
79 extern size_t rhostlen;
80 extern char *partner_fqdn;
81 extern unsigned int smtpext;
82 extern string heloname;
83 #ifdef CHUNKING
84 extern size_t chunksize;
85 #endif
86 extern char *clientcertbuf;
87 extern struct in6_addr outgoingip;
88 extern struct in6_addr outgoingip6;
89 
90 struct ips *smtproute(const char *, const size_t, unsigned int *);
91 void quitmsg(void);
92 
93 #define EDONE 1003
94 
95 #endif
partner_fqdn
char * partner_fqdn
Definition: qremote.c:39
rhost
char * rhost
Definition: qremote.c:37
netget
int netget(const unsigned int terminate)
get one line from the network
Definition: reply.c:38
heloname
string heloname
Definition: common_setup.c:17
sstring.h
definition of string record and headers of corresponding helper functions
rhostlen
size_t rhostlen
Definition: qremote.c:38
ips
list of IP addresses for a given host
Definition: qdns.h:29
smtpext
unsigned int smtpext
Definition: qremote.c:36
err_confn
void err_confn(const char **, void *)
log a configuration error and exit
Definition: qremote.c:128
write_status
void write_status(const char *str)
write status message to qmail-rspawn
Definition: status.c:40
write_status_raw
void write_status_raw(const char *str, const size_t len)
write raw status message to qmail-rspawn
Definition: status.c:29
rcptcount
unsigned int rcptcount
Definition: qsmtpd.c:70
ips::count
unsigned short count
Definition: qdns.h:33
quitmsg
void quitmsg(void)
send QUIT to the remote server and close the connection
Definition: qremote.c:48
write_status_m
void write_status_m(const char **strs, const unsigned int count)
write status messages to qmail-rspawn
Definition: status.c:76
send_envelope
int send_envelope(const unsigned int recodeflag, const char *sender, int rcptcount, char **rcpts)
send the SMTP envelope
Definition: envelope.c:11
write_status_raw_m
void write_status_raw_m(const char **strs, const unsigned int count)
write status messages to qmail-rspawn
Definition: status.c:57
smtproute
struct ips * smtproute(const char *, const size_t, unsigned int *)
get static route for domain
Definition: smtproutes.c:204