This is xplz.h in view mode; [Download] [Up]
/* $Id: xplz.h,v 2.6 1993/06/28 09:31:07 klute Exp klute $ */
/*
* Copyright 1993 Rainer Klute <klute@irb.informatik.uni-dortmund.de>
*
* Permission to use, copy, modify, distribute, and sell this software and
* its documentation for any purpose is hereby granted without fee, provided
* that the above copyright notice appear in all copies and that both that
* copyright notice and this permission notice appear in supporting
* documentation. The author makes no representations about the suitability
* of this software for any purpose. It is provided "as is" without express
* or implied warranty.
*
*/
#if !defined (XPLZ_H)
#define XPLZ_H
#include "boolean.h"
/*
* Beschreibung der Leitdateien der Deutschen Bundespost Postdienst. Die
* folgenden Strukturen entsprechen dem Aufbau der Leitdateien.
*/
typedef struct Umsda
{
char ala[8]; /* Schlüssel der Postanstalt */
char satzalt[3]; /* Satzart des alten PLZ-Pflegeverfahrens */
char plz_w_o[1]; /* Unterscheidung Verkehrsgebiet West/Ost */
char plzalt[4]; /* alte vierstellige PLZ */
char ortname_a[40]; /* Ortsname (alt) */
char ortzusa[30]; /* Zusatzbezeichnung ("am Main" bei Frankfurt) */
char oname_sort_a[40]; /* Ortsname (alt) als Sortierfeld (nur
Großbuchstaben, Umlaute aufgelöst, keine
Sonderzeichen */
char geschl[8]; /* Gemeindeschlüssel */
char filler[1];
char nplzo_z[1]; /* Anzahl der neuen zustellbezogenen PLZ im Ort
0: keine neue PLZ
1: eine neue PLZ
2: mehrere neue PLZ, siehe Straßenverzeichnis */
char nplzo_p[1]; /* Anzahl der neuen postfachbezogenen PLZ im Ort
0: keine neue PLZ
1: eine neue PLZ
2: mehrere neue PLZ, siehe Postfachverzeichnis */
char npanst_a[3]; /* Nummer des Zustellpostamtes */
char zpanst_a[40]; /* Ortsname des Zustellpostamtes bei Zustellung
von einem anderen Ort */
char nzpanst_a[3]; /* Nummer des Zustellpostamtes bei Zustellung
von einem anderen Ort */
char alort[8]; /* Ortsschlüssel zum Zugriff auf Straßen- oder
Postfachdatei */
char ortname_n[40]; /* neuer mit Einführung der neuen PLZ gültiger
Ortsname. Beispiel: Berlin-Adlershof -> Berlin */
char oname_sort_n[40]; /* Ortsname als Sortierfeld */
char oname24_n[24]; /* 24stellige Abkürzung des Ortsnamens */
char nplz_z[1]; /* Anzahl der neuen zustellbezogenen PLZ zur
Postanstalt (s. o.) */
char plz_z[5]; /* einzige zustellbezogene PLZ zur Postanstalt */
char nplz_p[1]; /* Anzahl der neuen postfachbezogenen PLZ zur
Postanstalt (s. o.) */
char plz_p[5]; /* einzige postfachbezogene PLZ zur Postanstalt */
char crlf[2];
}
Umsda;
typedef struct Ortarda
{
char ala[8]; /* Schlüssel der Postanstalt */
char satzalt[3]; /* Satzart des alten PLZ-Pflegeverfahrens */
char plz_w_o[1]; /* Unterscheidung Verkehrsgebiet West/Ost */
char plzalt[4]; /* alte vierstellige PLZ */
char ortname_a[40]; /* Ortsname (alt) */
char oname_sort_a[40]; /* Ortsname (alt) als Sortierfeld (nur
Großbuchstaben, Umlaute aufgelöst, keine
Sonderzeichen */
char npanst_a[3]; /* Nummer des Zustellpostamtes */
char zpanst_a[40]; /* Ortsname des Zustellpostamtes bei Zustellung
von einem anderen Ort */
char nzpanst_a[3]; /* Nummer des Zustellpostamtes bei Zustellung
von einem anderen Ort */
char aejahr[2]; /* Jahr des Zugangs ins Archiv */
char aemonat[2]; /* Monat des Zugangs ins Archiv */
char alort[8]; /* Ortsschlüssel des aktuellen Ortes zum Zugriff
auf Straßen- oder Postfachdatei */
char ortname_n[40]; /* neuer mit Einführung der neuen PLZ gültiger
Ortsname. Beispiel: Berlin-Adlershof -> Berlin */
char oname_sort_n[40]; /* Ortsname als Sortierfeld */
char oname24_n[24]; /* 24stellige Abkürzung des Ortsnamens */
char nplz_z[1]; /* Anzahl der neuen zustellbezogenen PLZ zur
Postanstalt (s. o.) */
char plz_z[5]; /* einzige zustellbezogene PLZ zur Postanstalt */
char nplz_p[1]; /* Anzahl der neuen postfachbezogenen PLZ zur
Postanstalt (s. o.) */
char plz_p[5]; /* einzige postfachbezogene PLZ zur Postanstalt */
char crlf[2];
}
Ortarda;
typedef struct Strada
{
char alort[8]; /* Schlüssel des Ortes, der in der Zustellanschrift
erscheint, oder der Gemeinde, in der die Straße
liegt */
char geschl[8]; /* Gemeindeschlüssel */
char snamesort[46]; /* Straßenname als Sortierfeld */
char strlfdnr[2]; /* laufende Nummer bei Namengleichheit mehrerer
Straßen */
char sname[46]; /* Straßenname in Groß-/Kleinschreibung */
char abkstr[23]; /* 23stellige Abkürzung des Straßennamens */
char anzgleist[1]; /* Anzahl der gleichnamiger Straßen
1: nur eine Straße dieses Namens
2: mehrere Straßen dieses Namens */
char nplz_z[1]; /* Anzahl der neuen zustellbezogenen PLZ für die
Straße
1: nur eine PLZ in der Straße
2: mehrere PLZ in der Straße */
char hnrkenn[1]; /* 0: durchgehender Hausnummernbereich
1: gerader Hausnummernbereich
2: ungerader Hausnummernbereich */
char hnr1von[4]; /* Hausnummern von (numerischer Teil) */
char hnr2von[4]; /* Hausnummern von (Zusatz) */
char hnr1bis[4]; /* Hausnummern bis (numerischer Teil) */
char hnr2bis[4]; /* Hausnummern bis (Zusatz) */
char plz_z[5]; /* neue zustellbezogene PLZ des Straßenabschnitts
oder der gesamten Straße */
char alort_g[8]; /* "alort" der Gemeinde, zu der die Straße gehört;
leer, wenn "alort_g" = "alort" */
char alort_p[8]; /* Schlüssel des Ortes, der in der Zustelladresse
erscheint; leer, wenn "alort_p" = "alort" */
char ortsteil[40]; /* Ortsteil, zu dem der Straßenabschnitt gehört */
char plz_w_o[1]; /* Unterscheidung Verkehrsgebiet */
char plzalt[4]; /* alte vierstellige PLZ */
char npanst[3]; /* Nummer der Zustellpostanstalt (alt) */
char crlf[2];
}
Strada;
typedef struct Pofada
{
char alort[8]; /* Schlüssel des Ortes */
char npanst[3]; /* Nummer der Ausgabepostanstalt */
char plz_w_o[1]; /* Unterscheidung Verkehrsgebiet */
char plzalt[4]; /* alte vierstellige PLZ */
char pfnrvon[6]; /* Postfachnummer von */
char pfnrbis[6]; /* Postfachnummer bis */
char plzneu_p[5]; /* neue fünfstellige PLZ */
char crlf[2];
}
Pofada;
typedef struct UmsdaSet
{
int entries;
Umsda *list;
}
UmsdaSet;
typedef struct OrtardaSet
{
int entries;
Ortarda *list;
}
OrtardaSet;
typedef struct StradaSet
{
int entries;
Strada *list;
}
StradaSet;
typedef struct PofadaSet
{
int entries;
Pofada *list;
}
PofadaSet;
typedef enum
{
PlzSucheOrt,
PlzSucheArchivOrt,
PlzOrtGefunden,
PlzOrtNichtGefunden, /* Ort eingeben */
PlzOrtMehrdeutig, /* PLZ (alt) eingeben */
PlzPlzAltGeaendert, /* PLZ (alt) eingeben */
PlzOrtEindeutig,
PlzPostanstaltBenoetigt,
PlzStrassePostfachBenoetigt, /* Straße oder Postfach eingeben */
PlzSucheStrasse,
PlzStrasseGefunden,
PlzStrasseNichtGefunden, /* Straße korrigieren */
PlzStrasseEindeutig,
PlzStrasseMehrfachInOrt, /* Postanstalt oder Ortsteil eingeben */
PlzStrasseMehrfachInPostanstalt, /* Ortsteil eingeben */
PlzStrasseMehrfachInOrtsteil, /* Postanstalt eingeben */
PlzHausnummerBenoetigt, /* Hausnummer eingeben */
PlzHausnummerNichtGefunden, /* Hausnummer korrigieren */
PlzSuchePostfach,
PlzPostfachGefunden,
PlzPostfachNichtGefunden, /* Postfach korrigieren */
PlzPostfachMehrfachInOrt, /* Postanstalt oder PLZ (alt) eingeben */
PlzPostfachMehrfachInPostanstalt, /* PLZ (alt) eingeben */
PlzPostfachMehrfachInPlz, /* Postanstalt eingeben */
PlzKeinZustellPostamt,
PlzKeinAusgabePostamt,
PlzPlzNeuGefunden, /* fertig */
PlzFehler,
PlzUnzulaessigerZustand,
PlzLetzterZustand
}
PlzConversionState;
typedef struct
{
char *plz_alt;
char *ort;
char *postanstalt;
char *ortsteil;
char *strasse;
char *hausnummer;
char *postfach;
char *plz_neu;
char verkehrsgebiet;
UmsdaSet *orte;
OrtardaSet *archivOrte;
StradaSet *strassen;
PofadaSet *postfaecher;
PlzConversionState status;
}
PlzConversion;
#endif
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.