Infofiles dienen im wesentlichen zwei Zwecken: Der Information des Benutzers und der Datenübermittlung an das Frontend. Für letzteres sind die technischen Infofiles gedacht.
Aufschluß darüber, welche Infofiles tatsächlich vorhanden sind, gibt die technische Infofileliste.
Die technischen Infofiles ITB, ITG und ITK sollten bei allen Boxen verfügbar sein. Die übrigen sind optional oder können lokal andere Bezeichner haben.
Infofiles kann man im MausNet zur Zeit nur über den Tausch bestellen. Dazu muß mit jedem Tausch ein Kommando mitgeschickt werden. Nur wenn die Box dieses erhält, wird das Infofile übertragen.
Für verschiedene Infofiles, die sich nicht ständig ändern, wie zum Beispiel die lokale Gruppenliste oder diverse Anleitungstexte, verhindert ein Prüfsummenmechanismus, daß sie unnützt übertragen werden (weil man sie schon bekommen hat und sie sich seitdem nicht verändert haben).
Die sogenannten Jedesmalinfofiles werden hingegen bei jeder Anforderung erneut gesendet.
Die Bestellung jedes Infofiles erfolgt über eine Zeile im Kommandoblock. Dabei wird für Jedesmalinfofiles nur ihr Kürzel, für normale Infofiles Kürzel und letzte von der Box erhaltene Prüfsumme gesendet.
Eine besondere Funktion hat die Prüfsumme '-1'. Es ist garantiert, daß kein Infofile jemals diese Prüfsumme haben wird, so daß man mit der Prüfsumme '-1' das Infofile auf jeden Fall erhält. Das heißt aber nicht, daß die Box nicht '-1' zurückliefern könnte: Die Quark liefert '-1' zurück, wenn ein Infofile aus irgendeinem Grund nicht gesendet werden kann.
Beispiel für ein '#CMD', mit dem das Jedesmalinfofile 'JXX', das Infofile 'ITI' mit Prüfsumme 4711 und das Infofile 'ILL' mit Prüfsumme 815 bestellt werden:
#CMD :JXX :ITI 4711 :ILL 815
Menschenlesbare Listen sind häufig für Programme nicht oder nur schlecht zu verarbeiten. Das trifft auch auf die meisten Infofiles zu.
Andere, die für Programme verständlich sind, wie zum Beispiel die kurzen Gruppen- oder Boxenlisten, sind aufgrund zukünftiger oder schon heute verfügbarer Erweiterungen nicht sicher zu parsen.
Ein Beispiel ist das Infofile IGK. Die längeren Gruppennamen der Quark bedingen hier, daß das Format der IGK der Quark von dem der MAUS abweicht.
Daher sind alle für die Frontends nötigen Daten den technischen Infofiles zu entnehmen. Deren Aufbau entspricht dem üblichen Format; d.h. der erste Buchstabe einer Zeile gibt ihren Inhalt an. (Nicht vergessen, daß es sich dabei um normale Textzeilen handelt, die mit einem ':' beginnen. 'Der erste Buchstabe' heißt also 'der erste nach dem Doppelpunkt'!)
Diese Infofiles bieten Informationen über das MausNet.
INA | MausNet-Anleitung, über Adressen und Adressierung in andere
Netze. In einigen Boxen ist es leider nicht up to date.
|
INK | Kurze Liste der Boxen im MausNet. Sie enthält Telefonnummer,
Name, Kürzel und Boxnummer aller Mailboxen im MausNet. Für
die maschinelle Auswertung ist sie seit kurzem ungeignet, das Format
wurde durch die Box Nummer 100 gesprengt. Diese Liste wird vom
'MNCONFIG' erzeugt und ist für alle Boxen und Benutzer im Netz
identisch.
|
INL | Lange Liste der Boxen im MausNet. Außer den oben schon
genannten Informationen enthält sie einen für jede Box frei
editierbaren Text. Diese Liste wird vom 'MNCONFIG' erzeugt, sie ist
für alle Boxen und Benutzer im Netz identisch.
|
ING | Netzgruppenliste. Welche Box führt welche Gruppen?
Sehr lang. Auch diese Liste wird vom 'MNCONFIG' erzeugt, auch
sie ist für alle Boxen im Netz identisch.
|
INP | Netzplan. Zeigt graphisch an, wo jede Box und jedes Gate in der
Hierarchie des Netzes steht. Dieses Infofile wird vom 'MNCONFIG'
erzeugt.
|
Diese beiden Infofiles sind für jeden Benutzer unterschiedlich. In der MAUS sind sie online im Gruppenmenü abrufbar, daher der Name. Sie umfassen nur lokale und lokal vorhandenen Netzgruppen, deren Namen dem Benutzer bekannt sein darf.
IGK | Kurze Gruppenliste. Jede Gruppe wird in einer Zeile beschrieben,
in der Gruppenname, ein kurzer Informationstext und Flags, ob man die
Gruppe bestellt hat oder Chef ist, angegeben sind.
|
IGL | Lange Gruppenliste. Zeigt mehr Informationen als die kurze Liste.
|
Weitere Informationen über Gruppen:
ITG | Technische Gruppenliste.
|
ING | Netzweite Gruppenliste.
|
ISG | Sysopgruppenliste, näheres unter Sysop-Infofiles.
|
Für die maschinelle Auswertung ist das ITG gedacht. Ein Frontend sollte es benutzen, falls es laut ITI vorhanden ist, da sich da Format der anderen oben genannten Infofiles ändern wird, sobald es im MausNet lange Gruppennamen gibt.
Ab der MAUS-Version 7.96 kann man auch die Benutzerliste als Infofile IUU abrufen. Aufgeführt sind nur die Benutzer, die der Veröffentlichung ihrer Daten zugestimmt haben (in den Benutzerdaten einstellbar).
Eine maschinenlesbare Version ist als ITU abrufbar.
Die lokalen Infofiles sind für jede Box verschieden, aber für alle User der Box gleich (jedenfalls zur Zeit). Die folgenden Infofiles findet man in vielen MausNet-Boxen:
Vom 'MNCONFIG' erzeugte Informationen für Sysops, für alle Boxen gleich und für normale User nicht erhältlich:
ISB | Boxenliste für Sysops. Enthält die Telefonnummern und
Adressen der Sysops.
|
ISG | Gruppenliste für Sysops. Enthält neben den
üblichen Informationen, wie sie auch in der ING und der IGL zu
finden sind, noch Informationen darüber, welche Boxen eine Gruppe
führen dürfen, ob eine Gruppe read-only sein soll, oder wer
im Falle geheimer Gruppen für sie verantwortlich bzw.
zuständig ist.
|
IUS | Benutzerliste für Sysops. Enthält die Daten aller
Benutzer - auch Pseudouser, also Programme, die als Benutzer
eingetragen sind. Eine maschinenlesbare Version (ITU) existiert
ebenfalls.
|
ISV | Liste aller definierten Events. Nützlich in Verbindung mit
dem Kommando 'BV'. Seit MAUS 7.96.
|
Die Jedesmal-Infofiles sind Infofiles, die bei jeder Bestellung geschickt werden. Sie sollen Logfiles und Statistiken auch über den Tausch abrufbar machen. Sie sind aber hochgradig boxspezifisch, deshalb liste ich sie hier nicht im einzelnen auf.
Jedesmal-Infofiles beginnen mit einem 'J'; z.B. 'JMA' für die Anrufstatistik der MAUS.
Das ITB faßt die für die Zusammenarbeit von Boxen und Gates im MausNet wichtigen Informationen maschinenauswertbar zusammen.
Alle Datenzeilen im Infofile beginnen mit einem Doppelpunkt. Dieser Doppelpunkt wird bei der folgenden Beschreibung nicht mehr gesondert erwähnt.
Jede Box wird durch einen einzelnen Block dargestellt, ein solcher Block beginnt mit einer mit einem Stern beginnenden Zeile. Die Reihenfolge der Blöcke bzw. Boxen ist nicht festgelegt. Die Reihenfolge der Zeilen in einem Block ist nicht festgelegt.
Nur Zeilen, die mit einem Großbuchstaben beginnen, sind für User sichtbar.
Nachfolgend wird jede Zeile einzeln beschrieben. Bei jeder Zeile ist ein Beispiel angegeben, das auch erläutert wird.
* | Boxkürzel
Diese Zeile beginnt einen neuen Block für eine neue Box. Zur Zeit ist das Kürzel dreistellig. In Zukunft sind 8 Zeichen geplant, aber spätere Erweiterungen können nicht ausgeschlossen werden. Logischerweise kommt diese Zeile pro Block bzw. Box genau einmal. Beispiel für den Beginn eines neuen Block für die Box mit dem Kürzel NIR: *NIR |
# | Boxnummer
Netzweite Nummer der Box. Diese Zeile kommt pro Box genau einmal. |
N | Langer Name der Box
Auch hier ist die Länge nicht festgelegt. Diese Zeile kommt pro Box genau einmal. Beispiel:: NMAUS Nirgendwo |
- | Boxkürzel der Serverbox.
Für Toplevelboxen (H0) kommt diese Zeile nicht, für andere Boxen genau einmal. Beispiel für eine Box, die an der Box mit dem Kürzel 'AC' pollt: -AC |
T | Telefonnummer der Box
Vorzugsweise im internationalen oder international wählbarem Format. Telefonnummern in der T-Zeile dürfen allgemein verbreitet werden. Diese Zeile kann mehrfach vorkommen (Multiportboxen). Beispiel: T0049-203-734357 |
t | geheime Telefonnummer der Box
Format wie in der T-Zeile, jedoch darf die Nummer nicht allgemein bekannt gemacht werden. Diese Zeile wird nur an priviligierte Empfänger, also Sysops oder Boxen, weitergegeben, und dient zur Kenntlichmachung nicht öffentlicher Boxen oder Ports. |
D | primäre Domain der Box
Unter dieser Domain werden die Nachrichten dieser Box exportiert. Dies schlägt sich in der Absenderzeile nieder. Es gibt zwei Syntaxformen:
Diese Zeile kommt pro Block höchstens einmal vor. Kommt sie nicht, gehört die Box zu keiner Domain (beispielsweise weil sie kommerziellen Charakter hat), aus ihr stammende Nachrichten können nicht exportiert werden. Beispiele: D.nichts.leer Dmausnir.vacuum Im ersten Fall würde die Nachrichten aus der Box mit dem Kürzel 'TEST' in der Form 'user@test.nichts.leer' exportiert, im zweiten Fall unabhängig vom Kürzel der Box mit Absendern der Form 'user@mausnir.vacuum'. |
G | Gateways
Diese Zeile kommt für jede Domain, in die über dieses Gate Nachrichten verschickt werden können. Es gibt zwei Syntaxformen:
Beispiele: G.com Über dieses Gate kann man User unter der Internet-Topleveldomain .com anschreiben. Die Adressierung wäre "user@irgendwo.com". G@Fido Adressierung "user @ Fido irgendwas". |
Z | Zusätzliche Domains
Diese Zeile kann mehrfach auftreten. Jede Zeile gibt eine Domain an, unter der die Box erreichbar ist. Beginnt eine zusätzliche Domain mit einem Punkt, so ist so an das Boxkürzel anzuhängen, um einen vollständig qualifizierten Domainnamen zu erhalten. Beginnt sie nicht mit einem Punkt, so gibt sie einen vollständig qualifizierten Domainnamen an. Beispiel: Z.maus.sub.org Die Box (NIR) ist auch als NIR.maus.sub.org erreichbar. Zmausnir.irgendwo Die Box ist auch als mausnir.irgendwo erreichbar. |
U | Benutzerinformation
Diese Zeile enthält die Benutzerinformationen, die auch im 'INL' stehen. Seit MAUS 7.96 werden diese Zeilen weggelassen, wenn ein Gateway oder eine Fremdbox die ITB angefordert hat. |
s | Sysopinformationen
Die Freiformatzeilen aus dem ISB. |
% | Sysopinformationen, PMK-Token-Format
Maschinenlesbare Sysopinformationen. |
: | to be ignored
Entstand offenbar bei der Umstellung auf das neue CNF-Format |
; | to be ignored
dito. |
'*' | 1 |
'#' | 1 |
'N' | 1 |
'-' | 0..1 |
'T/t' | 0..n |
'D' | 0..1 |
'G' | 0..n |
'Z' | 0..n |
'U' | 0..n |
's' | 0..n |
'n' steht für eine möglicherweise große Zahl.
#ITB :*AC ! Toplevelbox AC :#1 ! (nur zufällig am Anfang!) :NMAUS Aachen ! Gate ins Fido, ein Port, exportiert :T0049-241-902002 ! unter .maus.de und ist zusätzlich :D.maus.de ! unter .maus.sub.org erreichbar. :G@Fido ! :Z.maus.sub.org !-------------------------------------- :*AC2 ! AC2 hängt unter AC, hat die Nummer 2, :#2 ! drei Gates und einen Port, exportiert :T0049-241-54080 ! unter .maus.de und ist auch unter :NMAUS Aachen 2 ! .maus.sub.org erreichbar :-AC ! :G@Gernet ! :G.RWTH-AACHEN.DE ! :G.KFA-JUELICH.DE ! :D.maus.de ! :Z.maus.sub.org !-------------------------------------- :*ME ! Quark Ratingen, zwei Ports, pollt unter :#3 ! AC2, ist nur unter .maus.de :t0049-2102-1234567890 ! erreichbar :T0049-2102-475669 ! Ein Port ist nicht öffentlich :NQuark Ratingen ! bekannt. :-K ! :D.maus.de !-------------------------------------- :*MK ! MK, 2 Gates :#4 ! 2 Gates, exportiert zur Abwechslung :T0049-2371-14490 ! nicht unter .maus.de, sondern unter :NMaus Iserlohn ! .maus.ruhr.de, ist aber auch unter :D.maus.ruhr.de ! .maus.de, .maus.sub.de und mausmk :-AC ! .ruhr.de erreichbar. Pollt bei AC. :G.ruhr.de ! User @ MK wäre von außen über :G.was.weiss.ich ! folgende Adressen erreichbar: :Z.maus.de ! user@mk.maus.ruhr.de,user@mk.maus.de, :Z.maus.sub.org ! user@mk.maus.sub.org und :Zmausmk.ruhr.de ! user@mausmk.ruhr.de.
Das ITG beschreibt die für die Frontends wichtigen Daten der Gruppen.
Alle Datenzeilen beginnen mit einem Doppelpunkt, der in der weiteren Beschreibung nicht gesondert erwähnt ist.
Jede Gruppe wird durch einen Block beschrieben, jeder Block beginnt mit einer mit einem '#' beginnenden Zeile.
Die Reihenfolge der Gruppen (bzw. Blöcke) ist nicht festgelegt, ebensowenig die Reihenfolge der Zeilen in einem Block.
Im Folgenden wird jede Zeile einzeln beschrieben, dabei ist auch immer ein Beispiel aufgeführt:
G | lokaler Gruppenname
Der lokale Name der Gruppe. Beispiel: GAtari.Lall Diese Zeile beginnt die Beschreibung einer neuen Gruppe und kommt daher für jede Gruppe genau einmal. |
N | Netzgruppenname
Der netzweite Name der Gruppe, wenn er vom lokalen Namen abweicht. Beispiel: NAtari.Talk Diese Zeile entfällt also bei den lokalen Gruppen der Box, oder Boximplementationen, die den Netzgruppennamen auch immer lokal verwenden. Sie kommt pro Gruppe höchstens ein mal. |
U | Userinfo
Einzeilige Kurzbeschreibung der Gruppe. Beispiel: Allgemeines zum Thema Atari ST/TT/Falcon Diese Zeile kommt pro Gruppe genau einmal. |
S | Sysopinfo
Diese Zeile bietet Sysops und Gruppenchefs spezielle Informationen über einige Gruppen. Beispiel: SSchreibzugriff regelt Wolfram Roesler @ AC2 Diese Zeile kommt nur für berechtigte Sysops und den Chef der Gruppe, und nur, wenn für die Gruppe eine spezielle Beschreibung existiert. Sie tritt pro Gruppe höchstens einmal auf. |
C | Gruppenchef
Der Name des Gruppenchefs. Bitte nach Möglichkeit nicht direkt anschreiben, sondern als 'CHEF Gruppenname' adressieren! Beispiel: CReiner User Diese Zeile tritt höchstens einmal pro Gruppe auf. Sie kann auch fehlen, z.B. bei der Gruppe 'Öffentlich' oder bei lokal nicht vorhandenen Netzgruppen. |
F | Flags Diese Zeile beschreibt spezielle Eigenschaften der Gruppe.
Für weitere Informationen siehe Flags im ITG.
FLBSCV+G-P-$- Diese Zeile kommt pro Gruppe genau einmal. |
E | Änderungsdatum netzweit
Diese Zeile gibt das Datum der letzten Änderung einer Netzgruppe an. Diese Änderungen werden vom Netzgruppenkoordinator durchgeführt und betreffen die in den N-, U- oder S-Zeilen gegebene Information oder die Liste der Boxen, die die Gruppe beziehen dürfen, und die nicht im ITG erscheint (weil zu lang). Das Datum wird im üblichen Format angegeben. E199311101830 Diese Zeile kommt höchstens einmal. Sie entfällt, falls die Gruppe keine Netzgruppe ist. |
L | Äenderungsdatum lokal
Diese Zeile gibt das Datum der letzten lokalen Änderung an der Konfiguration der Gruppe an. Es ist im üblichen Zeitformat angegeben. L198001010000 Diese Zeile kommt höchstens einmal. Sie entfällt, wenn der Box dieses Datum nicht bekannt ist (wie in MAUS 7 oder Quark 1.x). |
R | Followup-To-Default
Diese Zeile gibt an, in welche Gruppe Kommentare auf diese Nachricht gehen sollen. Diese Information ist als Empfehlung an das Frontend anzusehen und sollte keineswegs als Zwang verstanden werden. Ralt.dev.null Diese Zeile entfällt, wenn für die Gruppe kein solcher Default gesetzt ist, oder die Box keine Information darüber hat. |
Bis auf die G-Zeile kommen die Zeilen in beliebiger Reihenfolge. Jede Zeile kommt maximal einmal pro Abschnitt. Die Zeilen G, U und F kommen genau einmal. Anders formuliert: die Zeilen N, S, C, E, L und R können wegfallen, wenn sie nicht sinnvoll sind.
Flags beschreiben spezielle Eigenschaften der Gruppe wie zum Beispiel die Zugriffsrechte. Jedes Flag besteht aus zwei Zeichen, einem 'Marker', der das Flag kennzeichnet, und einem 'Wert'.
Folgende Flags sind definiert:
L | Lesezugriff
Das Flag beschreibt den Lesezugriff auf die Gruppe. Mögliche Werte sind:
| ||||||||||||||
S | Schreibzugriff
Dieses Flag beschreibt den Schreibzugriff auf die Gruppe. Es kann folgende Werte annehmen:
| ||||||||||||||
V | Vernetzungsstatus
Dieses Flag beschreibt, ob die Gruppe lokal, vernetzt oder in der Box nicht vorhanden ist:
Eventuell wird dieses Flag später um Angaben zu Gates erweitert. | ||||||||||||||
G | 'Benutzerverhältnis'
Dieses Flag beschreibt, ob der Benutzer Gruppenchef ('*'), Mitglied ('+') oder keines von beiden ('-') ist. | ||||||||||||||
P | Programmteil vorhanden
Ist der Wert '+', dann ist ein Programmteil zu dieser Gruppe vorhanden, ist er '-', so gibt es keinen solchen Programmteil. | ||||||||||||||
$ | Zugriffsbeschränkungen für Nichtzahler
Für Benutzer ohne 'Zahlerstatus' ist der Zugriff auf diese Gruppe eingeschränkt ('+') oder nicht ('-'). |
Ein kurzer Ausschnitt um den Aufbau zu verdeutlichen:
#ITG :G386.Ger :UFidoNet-Area, in der es um PCs mit dem 80386 geht :CGereon Steffens :FLBS+V+G-P-$- :E199102021226 :G8-Bitter :UDie Gruppe für die 8 Bit Rechner unter den Computern :FLSSSV=G-P-$- :E199302082211 #
Das ITI beschreibt die für die Bestellung durch die Frontends wichtigen Details der Infofiles.
Alle Datenzeilen beginnen mit einem Doppelpunkt, der in der weiteren Beschreibung nicht gesondert erwähnt ist.
Jedes Infofile wird durch einen Block beschrieben, jeder Block beginnt mit einer mit einem Doppelkreuz ('#') beginnenden Zeile.
Die Reihenfolge der Infofiles (bzw. Blöcke) ist nicht festgelegt, ebensowenig die Reihenfolge der Zeilen in einem Block.
Im Folgenden wird jede Zeile einzeln beschrieben, dabei ist auch immer ein Beispiel aufgeführt:
# | Infofilekürzel
Das Kürzel des Infofiles. Dieses Kürzel muß bei der Bestellung des Infofiles angegeben werden. Es kann bis zu 8 Zeichen lang werden. Beispiel: #ITI Diese Zeile kommt genau einmal pro Infofile. |
: | Infofilebeschreibung
Eine Textzeile, die das Infofile beschreibt. Sie kann bis zum 255 Zeichen lang werden. Beispiel: :Maschinenlesbare Infoliste Diese Zeile kommt genau einmal pro Infofile. |
F | Flagzeile
Eine Zeile mit Flags, die spezielle Eigenschaften des Infofiles beschreiben. Beispiel: FC+ Auch diese Zeile kommt genau ein Mal pro Infofile. |
* | vorgesehen
|
- | vorgesehen
Diese Zeilen sollen die Infofiles gruppieren/in Klassen einteilen. Näheres ist noch nicht definiert. |
Andere Zeilen sind zur Zeit weder definiert noch vorgesehen, dennoch können sie natürlich jederzeit auftreten.
Die Flags beschreiben bestimmte Eigenschaften des Infofiles. Jedes Flag besteht aus zwei Zeichen, das erste identifiziert das Flag, das zweite gibt seinen Wert an.
Zur Zeit sind zwei Flags definiert:
C | Dieses Flag gibt an, ob das Infofile mit CRC angefordert werden
muß. Dies ist beim Wert '+' der Fall. Der andere mögliche
Wert ('-') besagt, daß das Infofile ohne CRC angefordert werden
muß.
|
I | Dieses Flag gibt an, ob das Infofile userspezifisch (Wert 'U'),
lokal für alle Benutzer identisch ('L') oder netzweit gleich
(Wert 'N') ist. 'Netzweit gleich' natürlich unter der
Voraussetzung, daß im ganzen Netz derselbe MNCONFIG mit
denselben Daten läuft.
|
#ITI :#ITI ::Technische Infofileliste :FC+IU :#ITG ::Technische Gruppenliste :FC+IU :#IGK ::Kurze Gruppenliste :FC+IU :#IGL ::Lange Gruppenliste :FC+IU :#IIL ::Loginzeiten :FC+IL :#ITC ::Packer :FC+IL :#INK ::Kurze Boxenliste :FC+IN :#INL ::Lange Boxenliste :FC+IN :#ING ::Netzgruppenliste (sehr lang) :FC+IN :#INP ::Netzplan :FC+IN :#ISB ::Sysopinformationen über Boxen :FC+IN :#ISG ::Sysopinformationen über Gruppen :FC+IN :#JLF ::Logfile von heute :FC-IU :#JL1 ::Logfile von gestern :FC-IL :#JPF ::Pollprotokoll von heute :FC-IL :#JP1 ::Pollprotokoll von gestern :FC-IL
Das ITK enthält eine Beschreibung jedes Kommandos, das die Box versteht. Auch alle nötigen Parameter sind exakt angegeben und mit Kommentaren für den Benutzer versehen.
Das Frontend sollte dem Benutzer anhand dieser Angaben eine komfortable Eingabe des Kommandos ermöglichen. (Z.B. über einen Dialog mit Checkboxen und Auswahllisten.)
Alle Datenzeilen im Infofile beginnen mit einem Doppelpunkt. Dieser Doppelpunkt wird bei der folgenden Beschreibung nicht mehr gesondert erwähnt.
Jedes Kommando wird durch einen einzelnen Block dargestellt. Ein solcher Block beginnt mit einer mit einem Doppelkreuz beginnenden Zeile. Die Reihenfolge der Blöcke ist nicht festgelegt. Die Reihenfolge der Zeilen in einem Block ist nicht festgelegt.
Nachfolgend wird jede Zeile einzeln beschrieben. Bei jeder Zeile ist ein Beispiel angegeben.
# | ID des Kommandos
Eine ganze Zahl, die dieses Kommando eindeutig identifiziert. Beispiel: #1100 | ||||||
V | Version des Kommandos
Enthält eine ganze Zahl, die als Versionsnummer dieses Kommandos dient. Ändert sich die Syntax oder die Bedeutung, so ist diese Nummer zu erhöhen. Beispiel: V0 | ||||||
T | Art des Kommandos
Beispiel: TB | ||||||
N | Name des Kommandos
Eine nicht zu lange Bezeichnung für das Kommando; sie könnte z.B. als Auswahl in einem Menü verwendet werden. Beispiel: NStraße ändern | ||||||
H | Ausführliche Beschreibung des Kommandos
Das Frontend könnte diesen Text als Online-Hilfe im Menü für das entsprechende Kommando zur Verfügung stellen. Ein Leerzeichen zu Beginn einer Zeile bedeutet, daß diese Zeile weder neu umzubrechen noch sie zwecks neuen Umbruchs an die vorhergehende Zeile anzuhängen ist. Beispiel: HMit dieser Funktion können Sie die Straße ändern | ||||||
Gx | Gruppe des Kommandos
Jedes Kommando ist einer Gruppe zugeordnet. Im Moment sind das folgende:
Beispiel: GU | ||||||
C | Konstante Teile der Syntax
Die Angaben in dieser Zeile werden unverändert in das Kommando übernommen. Beispiel: CUXSSIm Kommando muß jetzt der Text 'UXSS' folgen. | ||||||
Fc | Datentyp eines Feldes
Gibt den Datentyp eines Parameters an. Beispiel: FS20oEin 20 Zeichen langer String - optional, das heißt, er darf auch fehlen. | ||||||
Ks | Kurze Beschreibung eines Parameters
Das Frontend kann diesen Text benutzen, um im Dialog das entsprechende Feld zu beschriften. Beispiel: KStraße | ||||||
Ls | Ausführliche Beschreibung eines Parameters
Das Frontend könnte diesen Text als Onlinehilfe zu dem einzelnen Feld anbieten. Ein Leerzeichen zu Beginn einer Zeile bedeutet, daß diese Zeile weder neu umzubrechen noch sie zwecks neuen Umbruchs an die vorhergehende Zeile anzuhängen ist. Beispiel: LGeben Sie hier die neue Straße an. | ||||||
Ds | Defaultwert für ein Feld
Defaultwert für den Parameter. Die Syntax ist die, die auch im Infile für diesen Parameter zu verwenden ist. Beispiel siehe unten | ||||||
As[:s...] | Aufzählung der Werte eines Aufzählungstyps
Gibt die Infile-Syntax für einen Wert eines Aufzählungstyps an. Jeder Wert kann mehrere Zustände annehmen. Die Syntax verschiedener Zustände wird dabei durch Doppelpunkte getrennt. Beispiel: A+: d.h. es existieren zwei Zustände. Der erste wird durch '+' angegeben, der zweite durch einen Leerstring. Bei Werten mit zwei Zuständen sollte die Beschreibung derart gewählt werden, daß das Frontend den ersten der Zustände durch 'markiert', den zweiten durch 'nicht markiert' in einer Dialogbox symbolisieren kann. Bei Werten mit drei Zuständen sollte sie so gewählt werden, daß der erste durch 'positiv markiert', der zweite durch 'negativ markiert' und der dritte durch 'nicht markiert' symbolisiert werden kann. Diese Angabe bezieht sich auf die Syntax und braucht also dem User nicht angezeigt zu werden. | ||||||
Bs | Beschreibung der Werte eines Aufzählungstyps
Die Unterteilung von Aufzählungstypen erfolgt zweidimensional (<Werte des Aufzählungstyps> x <Zustände eines Wertes>), da dies der Praxis am nächsten kommt. Beschreibungen werden nur für Werte angegeben, während die verschiedenen Zustände eines Wertes nur durch unterschiedliche Markierungen an der jeweiligen einzigen Beschreibung dargestellt werden. Übrigens existiert die Option "Set Of" nur entlang der ersten Dimension. Diese Aspekte sind beim Entwurf von Kommandobeschreibungen zu berücksichtigen. Es ist von Fall zu Fall zu entscheiden, ob es intuitiver ist, die Werte entlang der ersten, der zweiten oder beider Dimensionen anzuordnen. Beispielsweise ist es sinnvoll, eine Auswahl im Sinne von "Ein/Aus" (z.B. "Anfordern/Nicht Anfordern") entlang der zweiten Dimension anzuordnen: Es genügt vollkommen, wenn der Anwender ein Feld "Anfordern" erhält, das er aktivieren kann oder nicht. Hingegen ist es bei einer Auswahl zwischen zwei nicht direkt entgegengesetzten Möglichkeiten ("Neue anfordern / Alle anfordern") sinnvoll, dies entlang der ersten Dimension zu tun, um zwei verschiedene Dialogfelder mit jeweils eigenen Beschreibungen zu erzeugen. Beispiel: FA KArt der Liste DA AA: BAusführliche Liste AS: BStichwortliste AK: BKurze ListeDefault ist 'A' (Ausführliche Liste). |
Die generelle Struktur eines ITK-Eintrags ist somit wie folgt:
#<Kommando-Nummer>Diese Zeile leitet ein neues Kommando ein. Alle folgenden Zeilen bis zum Ende oder bis zur nächsten #-Zeile beziehen sich auf dieses Kommando.
V<Kommando-Version> T<Kommando-Art> N<Kommando-Name> H<Kommando-Beschreibung> G<Kommando-Gruppe>
Auf diesen mehr oder weniger konstanten Block folgen dann ein oder mehrere syntaxbeschreibende Blöcke. Ein syntaxbeschreibender Block wird eingeleitet durch eine C- oder eine F-Zeile.
Wird er durch eine C-Zeile eingeleitet, so produziert er einen konstanten String und besteht nur aus dieser C-Zeile.
Ein Block, der durch eine F-Zeile eingeleitet wird, beschreibt einen vom User einzugebenden Parameter.
F<Datentyp>Diese Zeile leitet einen neuen Parameter ein. Alle folgenden Zeilen bis zum Ende des Kommandos oder bis zur nächsten C- oder F-Zeile beziehen sich auf diesen Parameter.
D<Defaultwert> K<kurze Beschreibung> L<lange Beschreibung><ggf. noch A- und B-Zeilen, immer paarweise, immer A-Zeile zuerst>
Alle C/F-Blöcke, in der gegebenen Reihenfolge hintereinander, ergeben das Infile-Kommando.
H und L dürfen jeweils mehrfach auftreten. Ein Leerzeichen zu Beginn einer Zeile weist das Frontend an, diese Zeile weder neu umzubrechen noch sie zwecks neuen Umbruchs an die vorhergehende Zeile anzuhängen.
Als Datentypen c stehen zur Verfügung:
A | Aufzählungstyp
Darstellung im Infile: wie in A-Zeilen angegeben |
M | Set of Aufzählung
Es gilt alles wie für A, nur daß das Frontend erlauben muß, mehrere Werte gleichzeitig zu aktivieren. |
D | Datum
Darstellung im Infile: JJJJMMTTHHMM[SS] |
d | Datum
Darstellung im Infile: TT[.MM[.JJJJ]] |
Sn | String der Länge n
Darstellung im Infile: wie eingegeben |
Pn | Passwort der Länge n
(wird ggf. nicht angezeigt) Darstellung im Infile: wie eingegeben |
pn | neues Passwort der Länge n
(Frontend kann ggf. zweimal fragen) Darstellung im Infile: wie eingegeben |
U | Username
Darstellung im Infile: wie eingegeben |
I | ganze Zahl, 2 Byte
Darstellung im Infile: dezimal, Ascii, mit Vorzeichen, auch wenn positiv |
Im,n | ganze Zahl aus dem Intervall [m, n]
Darstellung im Infile: dezimal, Ascii, mit Vorzeichen, auch wenn positiv |
G | Gruppenname
Darstellung im Infile: im Klartext |
g | Name einer Gruppe, in der User Chef ist
Darstellung im Infile: im Klartext |
Ein 'o' hinter dem Datentyp bedeutet, daß in das Feld keine Daten eingegeben werden müssen. Im Infile ist dann ein Leerstring einzutragen.
Ein paar unterschiedlich komplexe Kommandos:
#1 GF NPersönliche Mitteilungen anfordern HMit diesem Kommando können Sie persönliche Mitteilungen, Hdie in der MAUS für Sie bereitliegen, anfordern. TK V0 FA KUmfang LWählen Sie, ob Sie alle noch vorhandenen oder nur Lneue persönliche Mitteilungen erhalten wollen. APN Bneue Mitteilungen APA Balle vorhandenen Mitteilungen A Bkeine PMs anfordern[...]
#20 GA NDollar verlängern HHiermit verlängern Sie den Dollar eines Benutzers Hum eine beliebige Anzahl von Tagen. TB V0 CU$ FU KBenutzername LGeben Sie den Namen des Benutzers ein. C= FI-365,+32767 KTage LGeben Sie die Anzahl Tage ein, um die der Dollar verlängert Lwerden soll.[...]
#25 GG NMitgliedschaft setzen TB V0 HIn den Gruppen, in denen Sie Chef sind, Hkönnen Sie hiermit Mitglieder ein- und austragen. CGU FU KBenutzername LGeben Sie den Namen des Benutzers ein. FA KAktion LWählen Sie, was mit dem Benutzer in der Gruppe geschehen soll. A> Bals Mitglied eintragen A< Baus Gruppe austragen A= Bzum Gruppenchef machen A) BGruppe zum Lesen anschalten A( BGruppe abschalten FG KGruppe LWählen Sie eine Gruppe.[...]
#1511 V0 TB NFileliste anfordern (ÖPT) HAnfordern einer Liste von Dateien aus dem Höffentlichen Programmteil GP CFLO: FA KArt der Liste DA AA: BAusführliche Liste AS: BStichwortliste AK: BKurze Liste AM: BMaschinenlesbare Liste C: FIo KStartnummer Lab dieser Nummer auflisten C, FIo KEndnummer Lbis zu dieser Nummer auflisten C, Fdo KStartdatum Lab diesem Datum auflisten C, Fdo KEnddatum. Lbis zu diesem Datum auflisten C: FMo KSortierung Lnach diesen Kriterien soll die Liste sortiert werden AB: Bnach Betriebssystem AT: Bnach Dateityp AD: Bnach Downloads AA: Balphabetisch AR: Brückwärts C: FS20o KDateiname LName der aufzulistenden Dateien (Wildcards erlaubt) C, FS20o KStichwort 1 Lnach diesem Stichwort suchen C, FS20o KStichwort 2 Lnach Stichwort 1 ODER Stichwort 2 suchen C: FS20o KBetriebssystem Laufzulistende Betriebssysteme C; FS20o KDateityp Laufzulistende Dateitypen C; FS20o KQuelltext Laufzulistende Quelltextarten C; FS20o KCopyright Laufzulistende Copyright-Arten
Am letzten Beispiel sieht man, daß Kommandos ziemlich lang werden können. Das Frontend hat darauf zu achten, daß es auch alles korrekt auf dem Bildschirm darstellen kann!
Das ITP enthält die Kriterien-Angaben, die man benötigt um die 'K'-Zeilen aus der maschinenlesbaren Fileliste interpretieren zu können, bzw. um die entsprechenden Zeilen im UPL-Block zu füllen.
Alle Datenzeilen beginnen mit einem Doppelpunkt, der in der weiteren Beschreibung nicht gesondert erwähnt ist.
Ein Ausschnitt:
*6582 #1,0 :Sonstige #1,130 :DOS #1,140 :OS/2 #1,150 :Windows #1,160 :ST TOS #1,170 :Amiga #1,180 :Macintosh #1,190 :Unix #2,0 :Sonstiges #2,110 :Utility allgemein #2,112 -110 :Disk-Utility #2,114 -110 :Systemdiagnose[...]
Die Bedeutung der einzelnen Zeilen:
* | <ID des ITP>
|
# | <Kategorie>,<Index> |
- | <ist ein Unterpunkt zu Index> |
: | <Text> |
Das Infofile ITU enthält Angaben zu den in der Box eingetragenen Benutzern.
Für normale Benutzer werden nur User aufgelistet, die der Veröffentlichung ihrer Daten zugestimmt haben (beim Neueintrag bzw. im Benutzerdateneditor).
Sysops erhalten eine ausführlichere Variante, die unter anderem die Daten zu allen eingetragenen Benutzern enthält.
Alle Datenzeilen beginnen mit einem Doppelpunkt, der in der weiteren Beschreibung nicht gesondert erwähnt ist.
Jede Gruppe wird durch einen Block beschrieben, jeder Block beginnt mit einer mit einem '#' beginnenden Zeile.
Die Reihenfolge der Gruppen (bzw. Blöcke) ist nicht festgelegt, ebensowenig die Reihenfolge der Zeilen in einem Block.
Hier eine Liste der möglichen Zeilen. '(Sysopliste)' in der Zeilenbeschreibung bedeutet, daß nur Sysops diese Angabe erhalten.
Generell gilt: Fehlt eine Zeile, so ist die entsprechende Information nicht verfügbar.
# | Benutzernummer
Ändert sich, wenn die Userdatenbank der MAUS geputzt wird! | ||||||||
N | Benutzername
im Format <Vorname> <Nachname> | ||||||||
G | Geschlecht
Mögliche Werte:
| ||||||||
A | Alter
Das Alter wird nur beim ersten Login abgefragt und nicht automatisch erhöht. Sofern sich kein Zusatzprogramm (James) um die Aktualisierung kümmert, kann man sich auf diese Angabe deshalb nicht verlassen. | ||||||||
P | Postleitzahl
Fünfstellige Postleitzahl, ggf. mit vorangestelltem Länderkennzeichen. Beispiel: D-66482 | ||||||||
O | Wohnort
ohne Postleitzahl | ||||||||
B | Betriebssystem
Betriebssystemangabe als Klartext. | ||||||||
: | Fachtitel
Der Fachtitel bzw. der Forward-Eintrag. | ||||||||
C | Anrufe
So oft hat der Benutzer die Box bereits angerufen. Ob Nicht-Sysops diese Angabe erhalten, hängt von der Box-Konfiguration ab. | ||||||||
Y | Zahler-Status
Ob Nicht-Sysops diese Angabe erhalten, hängt von der Box-Konfiguration ab. | ||||||||
$ | Dollar-Datum (Sysopliste)
Das Datum, an dem der Benutzer seinen $ bezahlt hat. Fehlt, falls der User keinen Dollar hat. | ||||||||
= | User-Status (Sysopliste)
| ||||||||
+ | Promi-Status (Sysopliste)
| ||||||||
S | Straße (Sysopliste)
Klartext | ||||||||
F | Telefon (Sysopliste)
Klartext | ||||||||
1 | erster Anruf (Sysopliste)
Datum des ersten Anrufs dieses Users. | ||||||||
L | letzter Anruf (Sysopliste)
Datum des letzten Anrufs dieses Users. | ||||||||
T | Terminaltyp (Sysopliste)
Eingestellte Terminalemulation. | ||||||||
Z | Zeilenzahl (Sysopliste)
Eingestellte Zeilenzahl. | ||||||||
L | Zeilenlänge (Sysopliste)
Eingestellte Zeilenlänge. |
#1 NAndreas Mayer GM A31 PD-66482 OZweibrücken BTOS/MagiC C12651 YY $199804260000 =S 1199008170000 L199801250039 TF Z0 L0 #2 NProgrammteil Maus GP C738 YN $199511160000 =N +Z 1199204260000 L199801221820 TA Z24 L80 #3 NWolfgang Walter GM A21 P76133 OKarlsruhe BMAUS KA :PMs an: ww@ka2 C41 YN $199405190000 =N 1199204260000 L199801192122 T1 Z24 L80 #4 NKall Napp GM A32 PWO-1234 ONirgendwo C4261 YY $199702120000 =X SVergißmichstr. 11 F0721-12312300 1199204290000 L199801242018 TK Z0 L79 #5 NMäusepost Zweibrücken GP BMAUS ZW C8388 YY $201101010000 =S +Z 1199205020000 L199801250006 T1 Z24 L80
Das Infofile ITZ listet alle Zeichensätze auf, die der Box für die Zeichensatzwandlung zwischen verschiedenen Systemen zur Verfügung stehen.
Es wurde erstmals am 14.10.1997 von Udo Halfmann @ K2 in TAUSCHBAU vorgeschlagen. Siehe A31567@K2.
Seit der MAUS 7.96b wird das ITZ zur Zeichensatzwandlung benutzt. Hier nochmal der genaue Aufbau:
Alle Datenzeilen beginnen mit einem Doppelpunkt, der in der weiteren Beschreibung nicht gesondert erwähnt ist.
Das ITZ besteht aus 'Z'- und '#'-Blöcken.
Die 'Z'-Blöcke stehen alle vor dem ersten '#'-Block, damit das ITZ leicht zu parsen ist.
Die Reihenfolge der Zeilen in einem Block ist nicht festgelegt,
Die Zeilentypen zur Beschreibung eines Zeichensatzes im ITZ
Z | Beginnt die Definition eines Zeichensatz. In der Zeile steht eine
ID für diesen Zeichensatz. Die ID bleibt für einen
Zeichensatz auch bei geändertem ITZ immer gleich und kann damit
ggf. fest verdrahtet werden.
|
I | Diese Zeile definiert ein Kürzel von genau einem Zeichen mit
einem ASCII-Code von 33 bis 126 je Zeichensatz. Dieses eine Zeichen
dient dazu, die 'C'-Zeilen leichter parsen zu können.
|
B | Breite des Zeichensatz: 7 oder 8 Bit
|
D | Beschreibung/Name des Zeichensatz in ausführlicher Form
|
F | Flag-Zeile. Bislang sind keine Flags definiert.
|
Beispiel:
Zcp850 DCodepage 850 (OS/2) B8 Io
Die Zeilentypen zur Beschreibung eines einzelnen Zeichens im ITZ
# | Beginn der Definition eines Unicode-Zeichens. In der Zeile steht
die Codeposition des Zeichens in Form von 4 Hex-Ziffern.
|
N | Offizieller Unicode 2.0-Name des Zeichens.
|
S | SGML-Name des Zeichens (falls vorhanden). Das führenden
'&' und das abschießende ';' müssen noch ergänzt
werden.
|
E | Ersatzdarstellung des Zeichens mit den ASCII-Zeichen 32 bis 126.
Hier können mehrere Zeichen vorkommen und auch Leerzeichen am
Zeilenende auftreten (falls vorhanden).
|
C | Position des Zeichens in einem oder mehreren der oben definierten
Zeichensätze. Die ersten beiden Zeichen bilden mit 2 Hex-Ziffern
die Codeposition des Zeichens, dann folgt ein '=' und zuletzt eine
Liste von Kürzeln all der Zeichesätze, bei denen das Zeichen
an der genannten Codeposition auftaucht.
Je Zeichen sind mehrere 'C'-Zeilen zulässig. |
Beispiel:
#00DC NLATIN CAPITAL LETTER U WITH DIAERESIS SUuml EUe C5D=G C86=a C9A=sdon CDC=w12349
- Unicode-Zeichen 0x00DC
- großes Ü
- SGML-Name 'Ü'
- Ersatzdarstellung 'Ue'
- in ISO 646 DE (US-ASCII mit deutschen Umlauten) an Position 0x5D
- beim Apple-Zeichensatz bei 0x86
- bei Atari, Codepage 437, Codepage 850 und beim Next an Position 0x9A
- bei Windows und den ISO-Zeichensätzen 8859-1 bis 8859-4 sowie 8859-9 bei 0xDC
Copyright © by Andreas Mayer
Letzte Aktualisierung am 10. September 1998