mirror of
https://github.com/agdsn/ancient-weatherstation.git
synced 2026-06-19 23:07:59 +00:00
code cleaned
git-svn-id: file:///home/jan/tmp/wetterstation/trunk@201 dd492736-c11a-0410-ad51-8c26713eaf7f
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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 -----------------------------------------------------------*/
|
||||
|
||||
@@ -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 */
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user