1
0
mirror of https://github.com/agdsn/ancient-weatherstation.git synced 2026-06-19 14:58:00 +00:00

code cleaned

git-svn-id: file:///home/jan/tmp/wetterstation/trunk@201 dd492736-c11a-0410-ad51-8c26713eaf7f
This commit is contained in:
losinshi
2006-12-11 09:50:03 +00:00
parent ff877ec580
commit 4eb5123888
42 changed files with 191 additions and 191 deletions
+4 -4
View File
@@ -32,7 +32,7 @@ $(BIN_NAME): $(OBJS)
@ $(LD) $(DEBUG) $(NOLOG) -L$$(pg_config --libdir)/pgsql $(LD_LIBS) $(LDFLAS) $(BIN_NAME) $(OBJS)
@ echo Binary $(BIN_NAME) ist fertig!
# Abhängigkeiten
# Abhaengigkeiten
chart.o: chart.c \
definitions.h \
config.h \
@@ -100,14 +100,14 @@ install:
@ install -m444 COPYING $(DESTDIR)$(DOCDIR)
# Aufräumnen (alle Object-Files löschen)
# Aufraeumnen (alle Object-Files loeschen)
cleanup:
@ echo "Räume auf..."
@ echo "Raeume auf..."
@ echo "...entferne Object-Files:"
@ echo " " $(OBJS)
@ $(RM) -f $(OBJS)
clean: cleanup
@ echo "...lösche binary:"
@ echo "...loesche binary:"
@ echo " " $(BIN_NAME)
@ rm -f $(BIN_NAME)
+1 -1
View File
@@ -1,5 +1,5 @@
#############################################
# Beispiel-Config-File für ein Diagram-Bild #
# Beispiel-Config-File fuer ein Diagram-Bild #
#############################################
# Filename des erzeugten bildes
+1 -1
View File
@@ -1,5 +1,5 @@
#############################################
# Beispiel-Config-File für ein Diagram-Bild #
# Beispiel-Config-File fuer ein Diagram-Bild #
#############################################
# Filename des erzeugten bildes
+1 -1
View File
@@ -1,5 +1,5 @@
#############################################
# Beispiel-Config-File für ein Diagram-Bild #
# Beispiel-Config-File fuer ein Diagram-Bild #
#############################################
# Filename des erzeugten bildes
+1 -1
View File
@@ -1,5 +1,5 @@
#############################################
# Beispiel-Config-File für ein Diagram-Bild #
# Beispiel-Config-File fuer ein Diagram-Bild #
#############################################
# Filename des erzeugten bildes
+1 -1
View File
@@ -1,5 +1,5 @@
#############################################
# Beispiel-Config-File für ein Diagram-Bild #
# Beispiel-Config-File fuer ein Diagram-Bild #
#############################################
# Filename des erzeugten bildes
+1 -1
View File
@@ -1,5 +1,5 @@
#############################################
# Beispiel-Config-File für ein Diagram-Bild #
# Beispiel-Config-File fuer ein Diagram-Bild #
#############################################
# Filename des erzeugten bildes
+1 -1
View File
@@ -117,7 +117,7 @@ label_list_ptr get_y_label_list(int c_hight, int padding){
}
/* Bugfix: manchmal wird das obeste Label nicht angezeigt,
* daher den Zaehler um eins erhöhen und wenn dabei ueber
* daher den Zaehler um eins erhoehen und wenn dabei ueber
* den Bereich hinaus, dann wieder eins runter */
num++;
if ((temp + ((num - 1) * interval)) > (real_max - 1))
+4 -4
View File
@@ -28,7 +28,7 @@ $(BIN_NAME): $(OBJS)
@ $(LD) $(DEBUG) $(NOLOG) -L$$(pg_config --libdir)/pgsql -lesmtp -lssl -lpq $(LDFLAS) $(BIN_NAME) $(OBJS)
@ echo Binary $(BIN_NAME) ist fertig!
# Abhängigkeiten
# Abhaengigkeiten
checksensor.o: checksensor.c definitions.h config.h checksensor.h mailer.h
config.o: config.c config.h definitions.h checksensor.h mailer.h
mailer.o: mailer.c mailer.h
@@ -55,14 +55,14 @@ install:
@ install -m644 COPYING $(DESTDIR)$(DOCDIR)
# Aufräumnen (alle Object-Files löschen)
# Aufraeumnen (alle Object-Files loeschen)
cleanup:
@ echo "Räume auf..."
@ echo "Raeume auf..."
@ echo "...entferne Object-Files:"
@ echo " " $(OBJS)
@ $(RM) -f $(OBJS)
clean: cleanup
@ echo "...lösche binary:"
@ echo "...loesche binary:"
@ echo " " $(BIN_NAME)
@ rm -f $(BIN_NAME)
+4 -4
View File
@@ -92,7 +92,7 @@ static PGresult *pg_check_exec(PGconn *conn, char *query){
DEBUGOUT2("Fehler beim exec: %s\n", query);
exit_error(ERROR_QUERY);
} else {
DEBUGOUT2("Query: '%s' ausgeführt\n", query);
DEBUGOUT2("Query: '%s' ausgefuehrt\n", query);
}
return res;
}
@@ -152,7 +152,7 @@ static char *get_type_table_by_id(PGconn *connection, int sens_id){
return table;
}
/* Datensätze im gegebenem Interval zaehlen */
/* Datensaetze im gegebenem Interval zaehlen */
static int count_data_by_sensor_id(PGconn *connection, int sens_id){
int count_field;
char *table;
@@ -160,7 +160,7 @@ static int count_data_by_sensor_id(PGconn *connection, int sens_id){
int count;
PGresult *count_res;
DEBUGOUT2("\nPrüfe Sensor mit ID: %d ... \n",sens_id);
DEBUGOUT2("\nPruefe Sensor mit ID: %d ... \n",sens_id);
table = get_type_table_by_id(connection, sens_id);
@@ -249,7 +249,7 @@ static int check_sensors(){
return fail_count;
}
/* Callback-Funktion für das Versenden der Mail,
/* Callback-Funktion fuer das Versenden der Mail,
* baut die nachicht zusammen */
static char *get_message(int line, void *arg){
sens_info_list_ptr info = *((sens_info_list_ptr*) arg);
+1 -1
View File
@@ -9,7 +9,7 @@ sensorid_from_db yes # Sensoren aus der Datenbank holen (no wenn manuell anege
# Mail-Addressen
adminaddress root@localhost # Addresse an die die Nachichten gesandt werden sollen
#adminaddress sysop@localhost # weitere Addresse an die eine Nachicht geschickt wird (beliebig viele möglich)
#adminaddress sysop@localhost # weitere Addresse an die eine Nachicht geschickt wird (beliebig viele moeglich)
# Mail-einstellungen
mail_host localhost # Hostname des Mailservers
+2 -2
View File
@@ -55,8 +55,8 @@ typedef struct {
int mail_port; /* Port des Mailservers */
char mail_ssl; /* Flag ob SSL (TLS) genutzt werden soll */
char mail_auth; /* Flag ob authentifiziert werden soll */
char *mail_auth_user; /* User für die authentifizierung */
char *mail_auth_pass; /* Passwort für die Authentifizierung */
char *mail_auth_user; /* User fuer die authentifizierung */
char *mail_auth_pass; /* Passwort fuer die Authentifizierung */
} w_opts;
/* Struktur, die Infos ueber den Sensor enthaelt */
+6 -6
View File
@@ -44,7 +44,7 @@ static int add_address(const char *, void *);
static int read_str(const char *, void *);
/* Zuordnung zwischen Schlüsselwörtern in der Config, Der Funktion, die diese auswertet
/* Zuordnung zwischen Schluesselwoertern in der Config, Der Funktion, die diese auswertet
* und dem eld in der Options-Struktur */
static const struct config_keyword keywords[] = {
/* keyword handler variable address default */
@@ -161,7 +161,7 @@ int read_config(const char *file, int reset){
int lm = 0; /* Zeilen-Nummer */
/* Optionen mit default-werten füllen */
/* Optionen mit default-werten fuellen */
if(reset){
for (i = 0; keywords[i].keyword[0]; i++)
//printf("keyword: %s \n",keywords[i].keyword);
@@ -169,9 +169,9 @@ int read_config(const char *file, int reset){
keywords[i].handler(keywords[i].def, keywords[i].var);
}
/* config-file öffnen */
/* config-file oeffnen */
if (!(in = fopen(file, "r"))) {
DEBUGOUT2("Kann Config-File: %s nicht öffnen!\n", file);
DEBUGOUT2("Kann Config-File: %s nicht oeffnen!\n", file);
return 0;
}
@@ -179,10 +179,10 @@ int read_config(const char *file, int reset){
while (fgets(buffer, CONFIG_BUFFERSIZE, in)) {
lm++;
/* Zeilenvorschübe gegen null-terminierungs-Zeichen ersetzen */
/* Zeilenvorschuebe gegen null-terminierungs-Zeichen ersetzen */
if (strchr(buffer, '\n')) *(strchr(buffer, '\n')) = '\0';
/* Originlzeile für eventuelle log-, bzw. debug-meldungen */
/* Originlzeile fuer eventuelle log-, bzw. debug-meldungen */
strcpy(orig, buffer);
/* Kommentazeichen gegen null-terminierungs-Zeichen ersetzen und damit alles dahinter ignorieren */
+4 -4
View File
@@ -27,15 +27,15 @@
#define DEFAULT_PG_DATABASE "localbase" /* Postgres-Datenbank */
#define DEFAULT_PG_TIMEOUT "20" /* Postgres-Timeout */
#define DEFAULT_CONFIG_FILE "/etc/weatherstation/checksensor.conf" /* Standart-Configdatei */
#define DEFAULT_CHECK_INTERVAL "24" /* Standart-Interval, indem der Sensor das letzte mal hätte senden sollen (in h) */
#define DEFAULT_MIN_SENDINGS "24" /* Standart-Wert, wieviele Daten der Sensor in den letzten x stunden hätte senden sollen */
#define DEFAULT_CHECK_INTERVAL "24" /* Standart-Interval, indem der Sensor das letzte mal haette senden sollen (in h) */
#define DEFAULT_MIN_SENDINGS "24" /* Standart-Wert, wieviele Daten der Sensor in den letzten x stunden haette senden sollen */
/*Alle möglichen Definitionen, die in allen code-schnipseln benötigt werden*/
/*Alle moeglichen Definitionen, die in allen code-schnipseln benoetigt werden*/
/* Fehlermeldungen ------------------------------------------------------*/
#define ERROR_MAKECONN "PgSQL-Fehler: Kann Datenbankverbindung nicht herstellen\n"
#define ERROR_QUERY "PgSQL-Fehler: Kann query nicht sudführen \n"
#define ERROR_QUERY "PgSQL-Fehler: Kann query nicht sudfuehren \n"
#define ERROR_SEIINST "Signal-Fehler: Kann Signalhandler zum beenden nicht installieren\n"
/* Mail - Kopf -----------------------------------------------------------*/
+25 -25
View File
@@ -100,10 +100,10 @@ int mail_message(address_all_struct *addresses, char *subject, int eightbit, ma
addresses->from->mailbox = gen_from_mailbox(); /* Dann eine Addresse nach dem schema user@host generieren */
}
if((fd = tmpfile()) == NULL) /* Temporäre Datei anlegen */
if((fd = tmpfile()) == NULL) /* Temporaere Datei anlegen */
return MAILER_STATUS_FAILTURE_TEMPFILE_CREATE;
if(!build_header(addresses->from, addresses->to, addresses->cc, addresses->bcc, subject, fd)) /* Header in die Temporäre Datei schreiben */
if(!build_header(addresses->from, addresses->to, addresses->cc, addresses->bcc, subject, fd)) /* Header in die Temporaere Datei schreiben */
return MAILER_STATUS_FAILTURE_CREATE_HEADER;
i = 0;
@@ -120,7 +120,7 @@ int mail_message(address_all_struct *addresses, char *subject, int eightbit, ma
smtp_starttls_enable(session, Starttls_ENABLED); /* SSL soll auf jeden Fall benutzt werden */
break;
case SSL_REQUIRED:
smtp_starttls_enable(session, Starttls_REQUIRED); /* SSL soll ren benötigt benutzt werden */
smtp_starttls_enable(session, Starttls_REQUIRED); /* SSL soll ren benoetigt benutzt werden */
break;
default:
smtp_starttls_enable(session, Starttls_DISABLED); /* SSL soll nicht benutzt werden */
@@ -132,25 +132,25 @@ int mail_message(address_all_struct *addresses, char *subject, int eightbit, ma
snprintf(hostportstr, hostportlen, "%s:%d", servopts->host, servopts->port); /* host:port zusammenbauen */
DEBUGOUT2("SMTP: Send Mail over: \"%s\"\n",hostportstr);
if(!smtp_set_server(session, hostportstr)) /* Den Server fuer die Übertragung setzen */
if(!smtp_set_server(session, hostportstr)) /* Den Server fuer die Uebertragung setzen */
return MAILER_STATUS_FAILTURE_SETSERVER;
if (servopts->auth_use) { /* Wenn Authentifizierung eingeschaltet */
if ((authctx = auth_create_context ()) == NULL) /* Authentifizierungskontext erstellen */
return MAILER_STATUS_FAILTURE_CREATEAUTHCTX;
auth_set_mechanism_flags (authctx, AUTH_PLUGIN_PLAIN, 0); /* Plain-Text-Plugin auswählen */
auth_set_mechanism_flags (authctx, AUTH_PLUGIN_PLAIN, 0); /* Plain-Text-Plugin auswaehlen */
if(servopts->auth_cb == NULL){ /* wenn keine Callback-fkt. gesetzt */
auth_set_interact_cb (authctx, default_auth_cb, servopts); /* dann die standart-fkt nehmen */
} else { /* sonst */
auth_set_interact_cb (authctx, servopts->auth_cb, servopts); /* die gegebene verwenden */
}
if (!smtp_auth_set_context (session, authctx)) /* Kontext der session übergeben */
if (!smtp_auth_set_context (session, authctx)) /* Kontext der session uebergeben */
return MAILER_STATUS_FAILTURE_SETAUTHCTX;
}
smtp_set_eventcb(session, event_cb, servopts); /* Callbackfunktion angeben, welche die Events der Verbindung (falsches Zertifikat, ..) hanhelt */
if((message = smtp_add_message(session)) == NULL) /* Eine Nachicht zur Session hinzufügen */
if((message = smtp_add_message(session)) == NULL) /* Eine Nachicht zur Session hinzufuegen */
return MAILER_STATUS_FAILTURE_ADDMESSAGE;
if(! smtp_set_reverse_path(message,addresses->from->mailbox)) /* Absenderaddresse setzen */
@@ -162,7 +162,7 @@ int mail_message(address_all_struct *addresses, char *subject, int eightbit, ma
if(!smtp_set_messagecb(message, read_mail_tmp_file, fd)) /* Callback - Funktion zum lesen der temp. Datei */
return MAILER_STATUS_FAILTURE_SETMESSAGECB;
if(!(add_recipients(message, addresses->to) && add_recipients(message, addresses->cc) && add_recipients(message, addresses->bcc) ) ) /* Empfänger setzen */
if(!(add_recipients(message, addresses->to) && add_recipients(message, addresses->cc) && add_recipients(message, addresses->bcc) ) ) /* Empfaenger setzen */
return MAILER_STATUS_FAILTURE_ADDRECIPIENTS;
if(!smtp_start_session(session)) /* Session Starten (Mail versenden) */
@@ -175,7 +175,7 @@ int mail_message(address_all_struct *addresses, char *subject, int eightbit, ma
return MAILER_STATUS_FAILTURE_SENDING;
}
/* aufräumen */
/* aufraeumen */
if(fd != NULL)
fclose(fd);
if(hostportstr != NULL)
@@ -197,18 +197,18 @@ int mail_message(address_all_struct *addresses, char *subject, int eightbit, ma
* subject ist der Betreff der Mail
* fd ist der Zeiger auf die temp. Datei */
static int build_header(address_struct * from, address_struct *to, address_struct *cc, address_struct *bcc, char *subject, FILE *fd){
char *buf; /* Puffer für die Zeilen */
char *buf; /* Puffer fuer die Zeilen */
if(from == NULL || to == NULL || fd == NULL){ /* wenn absender, Empfaenger oder Dateizeiger NULL */
return 0; /* Dann abbrechen */
}
buf = malloc(sizeof(char)*BUFFSIZE); /* Speicher für Puffer holen */
buf = malloc(sizeof(char)*BUFFSIZE); /* Speicher fuer Puffer holen */
fprintf(fd, "From: <%s>\r\n", from->mailbox); /* Absender setzen */
fputs(gen_address_line(buf, TO_LINE, to), fd); /* To setzen */
fputs(gen_address_line(buf, CC_LINE, cc), fd); /* Cc setzen */
fputs(gen_address_line(buf, BCC_LINE, bcc), fd); /* Bcc setzen */
fprintf(fd, "Subject: %s\r\n", subject); /* Betreff setzen */
fputs("Reply-To:\r\n\r\n", fd); /* Reply-To + Leerzeile anhängen */
fputs("Reply-To:\r\n\r\n", fd); /* Reply-To + Leerzeile anhaengen */
free(buf); /* Puffer freigeben */
@@ -241,7 +241,7 @@ static char * gen_from_mailbox(){
* line_type ist eine der Konstanten TO_LINE, CC_LINE oder BCC_LINE
* address sind die Addressen fuer die Zeile */
static char * gen_address_line(char *buf, const char *line_type, address_struct *address){
address_struct *addr = address; /* Temporärer Zeiger */
address_struct *addr = address; /* Temporaerer Zeiger */
int i = 0 ; /* zum unterscheiden, ob die erste Addresse oder nicht */
strcpy(buf, line_type); /* Das Keyword ('To: ', 'Cc: ', ...) an den Zeilenanfang setzen */
@@ -254,12 +254,12 @@ static char * gen_address_line(char *buf, const char *line_type, address_struct
strcat(buf, ">"); /* '>' dahintersetzen */
i++;
}
strcat(buf, "\r\n"); /* Wagenrücklauf + Zeilenvorschub anhängen */
strcat(buf, "\r\n"); /* Wagenruecklauf + Zeilenvorschub anhaengen */
return buf;
}
/* Mail aus temporärer Datei lesen (Callbackfkt.)
/* Mail aus temporaerer Datei lesen (Callbackfkt.)
* buf ist ein Zeiger auf einen Zeichenpuffer
* len ist NULL (dann rewind des Files) oder nicht NULL (dann Daten lesen)
* arg ist der Zeiger auf die temp. Datei */
@@ -280,8 +280,8 @@ static const char *read_mail_tmp_file (void **buf, int *len, void *arg){
char *p = strchr (*buf, '\0'); /* Das Terminierungszeichen suchen */
if (p[-1] == '\n' && p[-2] != '\r') { /* Wenn kein Wagenruecklauf */
strcpy (p - 1, "\r\n"); /* dann einen ergänzen */
p++; /* und den String ein Zeichen länger machen */
strcpy (p - 1, "\r\n"); /* dann einen ergaenzen */
p++; /* und den String ein Zeichen laenger machen */
}
octets = p - (char *) *buf; /* Gelesene Zeichen berechnen */
}
@@ -291,14 +291,14 @@ static const char *read_mail_tmp_file (void **buf, int *len, void *arg){
}
/* Empfaenger zu einer Mail hinzufügen
/* Empfaenger zu einer Mail hinzufuegen
* message ist die SMTP - Message
* address ist die Liste mit den Empfaengeraddressen */
static int add_recipients(smtp_message_t message, address_struct *address){
address_struct *adr = address; /* Temp. Zeiger auf die Addressen */
for(; adr; adr = adr->next){ /* Addressen durchgehen */
if(adr->mailbox){ /* Wenn eine gueltige gefunden */
if(!smtp_add_recipient(message, adr->mailbox)) /* Dann hinzufügen */
if(!smtp_add_recipient(message, adr->mailbox)) /* Dann hinzufuegen */
return 0;
}
}
@@ -307,9 +307,9 @@ static int add_recipients(smtp_message_t message, address_struct *address){
/* Event-Callback-Funktion.
* Die wird von der Libsmtp aufgerufen wenn während der Session irgend etwas
* (unabhöngig ob gut oder nicht gut) passiert.
* dadurch hat man die Möglichkeit auf solche Ereignisse zu reagieren */
* Die wird von der Libsmtp aufgerufen wenn waehrend der Session irgend etwas
* (unabhoengig ob gut oder nicht gut) passiert.
* dadurch hat man die Moeglichkeit auf solche Ereignisse zu reagieren */
static void event_cb (smtp_session_t session, int event_no, void *arg,...){
va_list alist; /* Argumentliste */
int *ok; /* Rueckgabewert an die lib */
@@ -338,7 +338,7 @@ static void event_cb (smtp_session_t session, int event_no, void *arg,...){
break;
}
case SMTP_EV_INVALID_PEER_CERTIFICATE: { /* Ungueltiges Server-Zertifikat */
long vfy_result; /* prüfungs-resultat */
long vfy_result; /* pruefungs-resultat */
vfy_result = va_arg(alist, long);
ok = va_arg(alist, int*);
DEBUGOUT3("SMTP: Invalid peer certificate! verify-Result: %d continue: %d\n", vfy_result, servopt->ssl_ctx_peer_invalid);
@@ -391,10 +391,10 @@ static int default_auth_cb (auth_client_request_t request, char **result, int fi
for (i = 0; i < fields; i++) { /* Felder durchlaufen */
if (request[i].flags & AUTH_USER) { /* Wenn username erfragt wird */
result[i] = ((server_vars *)arg)->auth_user; /* dann den übergeben */
result[i] = ((server_vars *)arg)->auth_user; /* dann den uebergeben */
}
else if (request[i].flags & AUTH_PASS) { /* wenn nach Passwort gefragt wird */
result[i] = ((server_vars *)arg)->auth_pass; /* dann das übergeben */
result[i] = ((server_vars *)arg)->auth_pass; /* dann das uebergeben */
}
}
+9 -9
View File
@@ -31,7 +31,7 @@
/* SSL-Benutzung */
#define SSL_ENABLED 0 /* auf jeden Fall eingschaltet */
#define SSL_DISABLED 1 /* Ausgeschaltet */
#define SSL_REQUIRED 2 /* Wenn benötigt */
#define SSL_REQUIRED 2 /* Wenn benoetigt */
/* Zertifikat akzeptieren */
#define SSL_ACCEPT 1 /* Ja */
@@ -53,10 +53,10 @@
#define MAILER_STATUS_FAILTURE_SETSERVER 4 /* Server kann nicht gesetzt werden */
#define MAILER_STATUS_FAILTURE_CREATEAUTHCTX 5 /* Authentifizierungskontext kann nicht angelegt werden */
#define MAILER_STATUS_FAILTURE_SETAUTHCTX 6 /* Authentifizierungskontext kann nicht gesetzt werden */
#define MAILER_STATUS_FAILTURE_ADDMESSAGE 7 /* Message kann nicht hinzugefügt werden */
#define MAILER_STATUS_FAILTURE_ADDMESSAGE 7 /* Message kann nicht hinzugefuegt werden */
#define MAILER_STATUS_FAILTURE_SETREVPATH 8 /* Serveraddresse kann nicht gesetzt werden */
#define MAILER_STATUS_FAILTURE_SETMESSAGECB 9 /* Message-Callback-fkt kann nicht gesetzt werden */
#define MAILER_STATUS_FAILTURE_ADDRECIPIENTS 10 /* Empfaenger kkoennen nicht hinzugefügt werden */
#define MAILER_STATUS_FAILTURE_ADDRECIPIENTS 10 /* Empfaenger kkoennen nicht hinzugefuegt werden */
#define MAILER_STATUS_FAILTURE_STARTSESSION 11 /* Session kann nicht gestartet werden */
#define MAILER_STATUS_FAILTURE_SENDING 12 /* Fehler beim senden */
#define MAILER_STATUS_FAILTURE_CREATE_HEADER 13 /* Header kann nicht gebaut werden */
@@ -67,22 +67,22 @@
* das 2. Argument ist das Argument, welches der mail_message-fkt. uebergeben wurde */
typedef char *(*mail_linereader_cb)(int line, void *arg);
/* Datenstruktur für die Addressliste */
/* Datenstruktur fuer die Addressliste */
typedef struct address_t {
char *mailbox; /* mail-Addresse */
struct address_t *next; /* Zeiger auf das nächste Element */
struct address_t *next; /* Zeiger auf das naechste Element */
} address_struct;
/* Zusammenfassung jeglicher Addressen */
typedef struct address_all_t {
address_struct *from; /* Absender */
address_struct *to; /* Empfänger */
address_struct *to; /* Empfaenger */
address_struct *cc; /* cc */
address_struct *bcc; /* bcc */
} address_all_struct;
/* Datenstruktur für die Server-Optionen */
/* Datenstruktur fuer die Server-Optionen */
typedef struct server_vars_t {
char *host; /* host */
int port; /* port */
@@ -103,13 +103,13 @@ typedef struct server_vars_t {
* 2. Argument: Betreff der Nachicht
* 3. Argument: eightbit-flag setzen oder nicht
* 4. Argument: Callback-Fkt. zum lesen einer Zeile
* 5. Argument: Argument für die Callback-Fkt.
* 5. Argument: Argument fuer die Callback-Fkt.
* 6. Argument: Server-Einstellungen
* gibt einen Statusnummer zurueck */
int mail_message(address_all_struct *, char *, int, mail_linereader_cb, void *, server_vars *);
/* Gibt ein grundgerüst mit default-servereinstellungen
/* Gibt ein grundgeruest mit default-servereinstellungen
* zurueck, damit man nicht immer alles selbst angeben muss */
server_vars *get_default_servopts();