Home
UNIX-Handbuch V2.5 dt.
Contents
1. Schliessen einer Datei ende return FLAM V4 3 UNIX Frankenstein Limes Access Method 7 25 2014 by limes datentechnik gmbh Anwendungsbeispiele Kapitel 7 7 8 Die Benutzerausg nge 7 8 1 Mit exk10 S tze einer bestimmten Satzart aus einer Datei selektieren und komprimieren Von FLAM werden die S tze einer Datei gelesen und an exk10 zur Bearbeitung bergeben In exk10 wird die Satzart 1 Zeichen im Satz gepr ft S tze mit Satzart 1 werden an FLAM zur Komprimierung zur ckgegeben returncode 0 alle anderen werden nicht weiterbearbeitet returncode 4 Mit exitk10 Saetze mit einer bestimmten Satzart aus einer Datei selektieren und komprimieren exk10 functioncode returncode record_pointer record_length work long functioncode Funktionscode long returncode Returncode char record_pointer Satzpointer long record_length Satzlaenge char work Arbeitsbereich returncode 0 Aufruf nach open oder vor close if functioncode 0 functioncode 8 return if record_pointer 1 Saetze mit Satzart 1 1 Zeichen im Satz werdenkomprimiert alle anderen Saetze werden ueberlesen returncode 4 return 7 267 267 267 267 267 267 26 FLAM V4 3 UNIX Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Kapitel 7 Anwendungsbeispiele 7 8 2 Mit exd10 S tze einer komprimierten Datei ver
2. 2 34 FLAM V4 3 UNIX 2014 by limes datentechnik gmbh Kapitel 2 outrecformat Syntax Werte Beschreibung FLAM V4 3 UNIX Frankenstein Limes Access Method Das Kommando flam Mit diesem Parameter wird das Satzformat der dekomprimierten Datei angegeben outrecformat Formatoption Formatoption Siehe Beschreibung von Formatoption f r inrecformat Dieser Parameter gibt das Satzformat der dekomprimierten Datei an Mit dem angegebenen Satzformat werden die dekomprimierten Daten als logische S tze in die Datei geschrieben 2 35 2014 by limes datentechnik gmbh Das Kommando flam Kapitel 2 outrecsize Mit diesem Parameter wird die Satzl nge der dekomprimierten Datei angegeben Syntax outrecsize n Werte n Ganze Zahl zwischen 1 und 32760 Beschreibung Dieser Parameter gibt die Satzl nge der dekomprimierten Dateien mit Satzformat fix oder undefined an Bei anderen Satzformaten gibt er die Pufferl nge vor 2 362 362 362 362 362 36 2 36 FLAM V4 3 UNIX Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Kapitel 2 pad_char Syntax Werte Beschreibung FLAM V4 3 UNIX Frankenstein Limes Access Method Das Kommando flam Mit diesem Parameter wird das F llzeichen zum Verl ngern von S tzen der dekomprimierten Datei angegeben pad_char Hexcode Hexcode Zwei Hexadezimale Ziffern zwischen 00 und ff Bei der Dekomprimierung k nnen Satzformat und Satzl ng
3. Beschreibung 2 202 202 202 202 202 20 Frankenstein Limes Access Method Kapitel 2 Mit diesem Parameter wird das Satzformat der Originaldatei angegeben inrecformat Formatoption Bedeutung EAF Daten variable Satzl nge mit 4 Byte L ngenfeld in ASCII oder EBCDIC Code Die Satzl nge gibt nur die L nge der Daten ohne L ngenfeld an Das L ngenfeld ist Teil der Daten feste Satzl nge variable Satzl nge maximal 2 048 Zeichen mit Satztrennzeichen S tze ohne Struktur es werden S tze gleicher L nge gelesen letzter Satz kann k rzer sein variable Satzl nge mit 2 Byte bin rer Satzl nge einschlie lich L ngenfeld variable Satzl nge mit 2 Byte bin rer Satzl nge einschlie lich L ngenfeld variable Satzl nge mit 2 Byte bin rer Satzl nge ohne L ngenfeld variable Satzl nge mit 4 Byte bin rer Satzl nge einschlie lich L ngenfeld Host variable Satzl nge mit 4 Byte L ngenfeld in ASCII Code einschlie lich L ngenfeld variable Satzl nge mit 4 Byte L ngenfeld in EBCDIC Code einschlie lich L ngenfeld Dieser Parameter gibt das Satzformat der Originaldatei an Mit dem angegebenen Satzformat werden die Daten als logische S tze von der Datei gelesen 2 20 FLAM V4 3 UNIX 2014 by limes datentechnik gmbh Kapitel 2 Das Kommando flam inrecsize Mit diesem Parameter wird die Satzl nge der Originaldatei angegeben Syntax Inrecsize n Werte n Ganze Zahl zwischen 1 und 32760 Besc
4. Datei Oeffnen ende return 7 227 227 227 227 227 227 22 Frankenstein Limes Access Method Kapitel 7 FLAM V4 3 UNIX 2014 by limes datentechnik gmbh Kapitel 7 Anwendungsbeispiele 7 7 2 Lesen einer Datei Datei lesen user_io include flamincl h void usrget workio retco reclen record buflen FLAM_PPCHAR workio Kennung der Datei FLAM_PLONG retco Returncode FLAM_PLONG reclen Satzlaenge in Bytes FLAM_PPCHAR record Satz FLAM_PLONG buflen Laenge des Satzpuffers in Bytes retco 0 Satz lesen ende return FLAM V4 3 UNIX 7 23 Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Anwendungsbeispiele Kapitel 7 7 7 3 Schreiben einer Datei Datei schreiben user_io include flamincl h void usrput workio retco reclen record FLAM_PPCHAR workio Kennung der Datei FLAM PLONG retco I Returncode FLAM_PLONG reclen Satzlaenge in Bytes FLAM_PPCHAR record Satz retco 0 Satz schreiben a return 7 247 247 247 247 247 247 24 FLAM V4 3 UNIX Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Kapitel 7 Anwendungsbeispiele 7 7 4 Schlie en einer Datei Schliessen einer Datei user_io include flamincl h void usrcls workio retco FLAM_PPCHAR workio Kennung der Datei FLAM_PLONG retco Returncode retco 0
5. Bedeutung Kein g ltiger Dateiname FLAM_ERR_EXIT Bedeutung Fehlerabbruch durch Exit Routine ELAM OPEN MSGFILE Bedeutung Meldungsdatei kann nicht ge ffnet werden FLAM_ERR_OUTPATH Bedeutung outpath nur mit IL TT oder dateiname erlaubt FLAM_PATH_INVALID Bedeutung Umgebungsvariable FLAM_PATH ist nicht definiert A 5 2014 by limes datentechnik gmbh Returncodes Returncode 56 57 59 60 65 70 71 72 73 74 81 A 6A 6A 6A 6A 6A 6 Frankenstein Limes Access Method Anhang A Symbolischer Name Bedeutung FLAM_FILEHEADER_GR_32KB Bedeutung L nge Fileheader im Komprimat 32 KB FLAM_KOMP_LENGTH Bedeutung L nge des Komprimates falsch FLAM_ERR_NONDC Bedeutung ndc nur mit adc aes oder flamenc zulaessig FLAM_SYNTAX Bedeutung Komprimat fehlerhaft FLAM_CONS_RECORD Bedeutung Konsistenzpunkt falsch FLAM_NOT_VALID_VERSION Bedeutung FLAM Version der Komprimatsdatei nicht 2x FLAM_FL_CUT Bedeutung Dekomprimierter Satz verk rzt Fehler aus flamup FLAM_RECORD_CUT Bedeutung Dekomprimierte r S tze Satz verk rzt Warnung aus flamup FLAM_ERR_KOMP_LENGTH Bedeutung L nge des Komprimates falsch FLAM_CHECK_CHARACTER Bedeutung Pr fzeichenfehler FLAM_PARAM_ERR A 6 FLAM V4 3 UNIX 2014 by limes datentechnik gmbh Anhang A Returncode 82 85 87 88 90 92 98 99 101 102 FLAM V4 3 UNIX Frankens
6. Dieses Argument besteht aus zwei Bytes in denen ein Code f r das Betriebssystem zur ckgegeben wird auf dem die FLAMFILE erzeugt wurde Dieser hexadezimale Code hat folgende Bedeutung 00 00 unbekanntes System 00 0E MS Windows 0101 IBM MVS 0102 IBM VSE 0103 IBM VM 0301 HP OpenVMS 0901 HP NonStop 1204 Unix fImghd darf nur beim Dekomprimieren benutzt werden Es kann aufgerufen werden um die Dateiattribute des ersten Members einer FLAMFILE anzufordern wenn FLAM nach dem ffnen flmopn fImopd flmopf den Returncode 1 zur ckgibt Die Attribute eines Folgemembers sind verf gbar wenn ein vorangehender flmget Aufruf den Returncode 6 zur ckgibt Eine Beschreibung der Returncodes befindet sich in Anhang A Returncodes 4 15 2014 by limes datentechnik gmbh Die Satzschnittstelle fImguh Syntax Argumente fImid returncode user_attributes user_attributes Abh ngigkeiten Kapitel 4 Die Funktion flmguh get user header dient zur Wiedergewinnung der Daten aus dem anwenderspezifischen FLAM Fileheader bei der Dekomprimierung Sie ist nur bei der Dekomprimierung und unmittelbar nach einem Aufruf von flmghd zul ssig void fImguh char flmid long returncode long user_attributes_length char user_attributes Der Feldinhalt von flmid ist ein Pointer auf einen Character String Dieses Argument identifiziert die FLAMFILE f r die die Funktion auszuf hren ist Es wird durch die Funktion
7. Dieses Argument ist der Satzpuffer Dieses Argument enth lt die L nge des Satzpuffers in Bytes Eine Beschreibung der Returncodes befindet sich in Anhang A Returncodes 5 6 FLAM V4 3 UNIX 2014 by limes datentechnik gmbh Kapitel 5 Benutzer Ein Ausgabe Schnittstelle usropn Mit dieser Funktion wird die Datei ge ffnet deren Spezifikation im Argument filename bergeben wird Syntax void usropn char workio long returncode long file_open char filename long organization long record format long record_size long block size struct kd key_description long device char record _delimiter char pad_char long print_control long close_disposition long access long filename_length char filename Argumente workio Dieses Argument ist ein Bereich von 1 KByte der von FLAM bei jedem Aufruf einer Benutzer Ein Ausgabe Funktion als Arbeitsbereich zur Verf gung gestellt wird und zwischen den Aufrufen von FLAM nicht ver ndert wird Beim Aufruf von usropn steht am Anfang des Bereichs der Name der zu bearbeitenden Datei der Rest ist mit Bin rnullen vorbesetzt returncode In diesem Argument wird ein Returncode an das aufrufende Programm zur ckgegeben file_open Dieses Argument gibt den Verarbeitungsmodus der zu ffnenden Datei an 0 input lesen d h dekomprimieren 1 output schreiben d h komprimieren filename In diesem Argument wird die Spezifikation f r die zu ffnende
8. wobei ihm nach Lesezugriffen der gelesene Satz zur Verf gung gestellt wird Bei R ckgabe der Kontrolle an FLAM bergibt er einen Returncode void exk10 long functioncode long returncode char record_pointer long record_length char work In diesem Argument wird dem Benutzerausgang ein Funktionscode bergeben G ltige Werte sind 0 Erster Aufruf f r die Datei nach open 4 Satz im Satzpuffer bereitgestellt 8 Letzter Aufruf f r die Datei vor close In diesem Argument gibt der Benutzerausgang einen Returncode an FLAM zur ck Siehe besondere Beschreibung der Returncodes und ihrer Bedeutungen Dieses Argument enth lt einen Pointer auf einen Character String Der Pointer hat eine L nge von 4 Byte und entspricht damit einem long integer Bei Aufrufen mit Funktionscode 4 enth lt er die Adresse des gelesenen Satzes Diese Adresse kann vom Benutzerausgang ge ndert werden beispielsweise um einen Satz einzuf gen Dieses Argument enth lt bei Aufrufen mit Funktions code 4 die L nge des gelesenen Satzes Diese L nge kann vom Benutzerausgang ge ndert werden beispielsweise beim Einf gen eines Satzes Dieses Argument ist ein Bereich von 1 KByte der von FLAM bei jedem Aufruf des Benutzerausgangs als Arbeitsbereich zur Verf gung gestellt wird und zwischen den Aufrufen von FLAM nicht ver ndert wird Bei erstmallgem Aufruf Funktionscode 0 enth lt der Bereichsanfang den Dateinamen der Rest ist mit Bin rnullen ini
9. zur ckgegeben wird Dieses Argument ist f r k nftige Erweiterungen reserviert Dieses Argument ist f r k nftige Erweiterungen reserviert Beim Offnen von Dateien mit Satzformat stream gibt dieses Argument an welche Satztrennzeichen zu verwenden sind Enth lt das Argument den Wert 0 so gelten die Standard Endezeichen Sonst ist der Inhalt dieses Arguments das Satztrennzeichen Der record_delimiter hat folgenden Aufbau Im h chstwertigen Byte steht die Anzahl der Bytes Bei Anzahl der Bytes 1 steht im niedrigstwertigen Byte das Satztrennzeichen Bei Anzahl Bytes 2 steht im zweitniedrigstwertigen Byte das 1 im niedrigstwertigen Byte das 2 Byte des Satztrennzeichens z B Oa 00 00 01 Satztrennzeichen UNIX Da Od 00 02 Satztrennzeichen MS DOS In diesem Argument wird ein F llzeichen bergeben das bei Ausgabe mit fixer Satzl nge zum Auff llen k rzerer S tze benutzt wird 5 8 FLAM V4 3 UNIX 2014 by limes datentechnik gmbh Kapitel 5 Schnittstelle print_control close_disposition access filename_length filiename Returncodes FLAM V4 3 UNIX Frankenstein Limes Access Method Benutzer Ein Ausgabe Dieses Argument ist f r k nftige Erweiterungen reserviert Dieses Argument ist f r k nftige Erweiterungen reserviert Dieses Argument ist f r k nftige Erweiterungen reserviert In diesem Argument wird die L nge des Bereiches in dem der Name filename der zu ffnenden Datei steht
10. Dieser Aufruf von FLAM bewirkt die Komprimierung der Datei test dat im Modus cx8 Die FLAMFILE ist die Datei flamfilel cmp Sie hat ein fixes Satzformat und eine Satzl nge von 1 024 und enth lt alle Komprimierungsinformationen so dass in derselben Umgebung eine Dekomprimierung ohne Spezifikation der dekomprimierten Datei m glich ist 2 54 FLAM V4 3 UNIX 2014 by limes datentechnik gmbh Kapitel 2 FLAM V4 3 UNIX Frankenstein Limes Access Method Das Kommando flam Dieselben FLAM Parameter k nnen auch in folgender Form angeordnet werden compress mode cx8 maxbuffer 128 flamin test dat flamfile flamfilel cmp recformat fix recsize 1024 attributes all Auf dem Bildschirm w rde folgende Ausgabe erscheinen FLAM R 4 2 0 fuer Linux copyright c 2012 by limes datentechnik gmbh Start 06 08 2012 15 35 07 compress Mode Suisse nn ee E E adc Maxburter una ae uE 3 65 536 Maxkecords eeng teil 4 096 FLAameOde ee er e ASCII ateribu utes a are ae all Name Orioginaldateir path001 test dat inrecformat ve ee engt d stream inrecdelim x 0a Anzahl unkomprimierte Saetze 778 Anzahl unkomprimierte Bytes 26 947 Name Komprimatsdatei 2 flamfilel cmp rectormat n we fix recs ze nal 1 024 Anzahl komprimierte Saetze 14 Anzahl komprimierte Bytes 7 168 Effizienz in Pr zent un EEN 73 4 kaufzeit in Sek iss are 0 0 2 55 2014 by limes
11. Ein und Ausgabefehler sind nicht enthalten 7 7 1 ffnen einer Datei Oeffnen einer Datei zum Lesen oder Schreiben user_io include flamincl h void usropn workio retco openmode linkname fcbtype recform recsize blksize keydesc device recdelim padchar prcrtl closdisp access namelen filename FLAM_PPCHAR workio Kennung der Datei FLAM PLONG retco I Returncode FLAM PLONG openmode Verarbeitungsart 0 input seq lesen 1 output seq schreiben 2 inout mit Schluessel lesen und schreiben vorhandene Datei 3 outin mit Schluessel schreiben und lesen neue Datei FLAM PPCHAR linkname I Linkname Dateiname FLAM_PLONG fcbtype Organisation 0 8 16 sequentiell 1 9 17 indexsequentiell 2 10 18 relativ 3 11 19 Direktzugriff 5 13 21 Bibliothek 6 14 22 physisch negativ systemspezifische Attribute uebernehmen bei open output sattrlen ungleich 0 FLAM_PLONG recform Satzformat 0 8 16 variabel 8 blocked 16 blocked spanned 24 VFC 32 2 Byte Laengenfeld 40 4 Byte ASCII L ngenfeld 48 4 Byte EBCDIC L ngenfeld 7 207 207 207 207 207 207 20 FLAM V4 3 UNIX Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Kapitel 7 FLAM_PLONG recsize FLAM_PLONG blksize PSTRKD keydesc FLAM_PLONG device FLAM_PCHAR recdelim FLAM_PCHAR
12. Parameter flamin bei der Komprimierung bzw flamfile bei der Dekomprimierung angegeben werden Soll die Eingabe der Daten ber die spezielle Datei stdin erfolgen entf llt der Parameter f r die Eingabespezifikation Somit kann FLAM als Filter benutzt werden 2 48 FLAM V4 3 UNIX 2014 by limes datentechnik gmbh Kapitel 2 Das Kommando flam FLAM V4 3 UNIX 2 4 2 Ausgabespezifikationen Die Ausgabespezifikation kann aus einem Dateinamen einer Liste von Dateinamen durch Kommata getrennt oder einer Substitutionsvorschrift bestehen Eine Substitutionsvorschrift hat folgendes Format Zeichenkette1 Zeichenkette2 Ferner kann eine der nachstehend beschriebenen Ausgabespezifikationen P oder Dateiname angegeben werden Ausgabedateien werden neu angelegt falls sie noch nicht existieren Im anderen Fall werden sie berschrieben Eine Substitutionsvorschrift als Ausgabespezifikation bedeutet dass der Dateiname der FLAMFILE bzw der dekomprimierten Datei zu bilden ist durch Ersetzung der Zeichenkette1 durch die Zeichenkette2 im Namen der Eingabedatei Die Zeichenketten und das Gleichheitszeichen m ssen ohne Leerstellen unmittelbar aufeinanderfolgen Die Substitution wird nur angewandt auf den Dateinamen aber nicht auf Pfadnamen Beispielsweise werden mit dem Kommando flam compress mode cx8 flamin helptxt1 txt helptxt2 txt flamfile txt cmp die Dateien helptxt1 txt und helptxt2 txt komprim
13. bergibt er einen Returncode void exk20 long functioncode long returncode char record_pointer long record_length char work In diesem Argument wird dem Benutzerausgang ein Funktionscode bergeben G ltige Werte sind 0 Erster Aufruf f r die Datei nach open 4 Satz im Satzpuffer bereitgestellt 8 Letzter Aufruf f r die Datei vor close In diesem Argument gibt der Benutzerausgang einen Returncode an FLAM zur ck Siehe besondere Beschreibung der Returncodes und ihrer Bedeutungen Dieses Argument enth lt einen Pointer auf einen Character String Der Pointer hat eine L nge von 4 Byte und entspricht damit einem long integer Bei Aufrufen mit Funktionscode 4 enth lt er die Adresse des zu schreibenden Satzes der FLAMFILE Dieses Argument enth lt bei Aufrufen mit Funktionscode 4 die L nge des zuschreibenden Satzes Dieses Argument ist ein Bereich von 1 KByte der von FLAM bei jedem Aufruf des Benutzerausgangs als Arbeitsbereich zur Verf gung gestellt wird und zwischen den Aufrufen von FLAM nicht ver ndert wird Bei erstmallgem Aufruf Funktionscode 0 enth lt der Bereichsanfang den Dateinamen der Rest ist mit Bin rnullen initialisiert 6 11 2014 by limes datentechnik gmbh Die Benutzerausg nge Returncodes Wert 12 16 6 126 126 126 126 126 126 12 Frankenstein Limes Access Method Kapitel 6 Bedeutung Satz bernehmen bzw kein Fehler Satz nicht bernehmen Satz einf gen Die Puffera
14. chstwertigen Byte des Returncodes in allen Fehlerf llen die von Dateizugriffen herr hren Wie beim Unterprogramm flamup k nnen auch die Returncodes der Funktionen der Satzschnittstelle in Meldungsnummern umgesetzt oder mit der von FLAM intern verwendeten Message Routine put_flmsg ausgegeben werden Die Satzschnittstelle Kapitel 4 Im Einzelnen umfasst die Satzschnittstelle folgende Funktionen Entspric ht VO Aufrufen fImels close Verarbeitung der Originaldatei abschlie en und die SC FLAMFILE schlie en fImflu flush Verarbeitung der Originaldatei abschlie en ohne die FLAMFILE zu schlie en sequentiell lesen read fImghd get header Den allgemeinen TT BE fImguh get user header Den anwenderspezifischen FLAM Fileheader lesen open FLAMFILE ffnen fImphd put header Den allgemeinen FLAM Fileheader schreiben fImpos position Auf den n chsten Fileheader positionieren fImpuh put user header Den anwenderspezifischen FLAM Fileheader schreiben fImput put Einen Originalsatz sequentiell schreiben fImpwd password Kennwort bergeben 4 44 44 44 4 4 44 44 4 FLAM V4 3 UNIX Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Kapitel 4 FLAM V4 3 UNIX Frankenstein Limes Access Method Die Satzschnittstelle 4 2 Programmierung der Satzschnittstelle bei der Komprimierung Die Erzeugung einer FLAMFILE verl uft in drei Phasen der Open Sequenz einem oder mehreren Komprimieru
15. namlen sattrlen sysattr 2048 datrec 2048 system 2 sanz long maxb long 1stpar FLAM V4 3 UNIX Frankenstein Limes Access Method Kennung Satzschnittstelle Name Komprimatsdatei Name Originaldatei Name dekomprimierte Datei Flamcode Modus der Komprimierung Statistik Openmodus Blockmodus File Header Vorschubsteuerzeichen FLAM Version Satzlaenge Pufferlaenge Laenge Dateiname Laenge systemspez Information systemspez Information Datenbereich Betriebssystem max Satzanzahl Block max Puffergroesse in KB Letzter Parameter 7 15 2014 by limes datentechnik gmbh Anwendungsbeispiele long blksk long recfk long recsk long devk long orgak union char c 4 unsigned long i recdelk long cldispk struct kd keydesck long devd long orgad long blksd long recfd long recsd union char c 4 unsigned long i recdeld long cldispd struct kd keydescd long blkso long recfo long recso long devo long orgao union char c 4 unsigned long i recdelo long cldispo struct kd keydesco char exk20 34 char exd20 34 long il ir unsigned long rc unsigned long cputime unsigned unsigned unsigned unsigned unsigned unsigned long long long long long long zks
16. r die die Funktion auszuf hren ist Es wird durch die Funktion fImopn gesetzt und darf bis zum flmcls nicht ver ndert werden In diesem Argument wird ein Returncode an das aufrufende Programm zur ckgegeben In diesem Argument wird die L nge des gelesenen Satzes in Bytes zur ckgegeben Dieses Argument ist der Satzpuffer Dieses Argument enth lt die L nge des Satzpuffers in Bytes fImget darf nur beim Dekomprimieren benutzt werden Bei verschl sselten FLAMFILEs muss vor dem ersten Aufruf von flmget das Kennwort mit fImpwd bergeben werden Returncodes Eine Beschreibung der Returncodes befindet sich in Anhang A Returncodes 4 124 124 124 124 124 124 12 FLAM V4 3 UNIX Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Kapitel 4 fImghd Syntax Argumente fImid returncode filename_length filiename organization FLAM V4 3 UNIX Frankenstein Limes Access Method Die Satzschnittstelle Mit flmghd get file header k nnen bei der Dekomprimierung die Attribute der Originaldatei angefordert werden sofern diese in der FLAMFILE gespeichert sind Sind in der FLAMFILE mehrere Fileheader vorhanden siehe flmphd so wird mit fImghd jeweils der letzte von FLAM erkannte Fileheader bergeben void fImghd char flmid long returncode long filename_length char filename long organization long record_format long record_size char record_delimiter struct kd key_descr
17. rnd_nbr lt lt 8 rnd_nbr unsigned long data 3 read_pos rnd_nbr 0x55555555L undo obscuring Mi break ZE case KMX_ID_INFO For Info request strcpy message char exit_id pass ID_string Mi msglen strlen message retco 0 return default For all other codes sprintf message errmsg5 fuco issue error Mi msglen strlen message Z retco 1 return retco fseek khandle read pos SEEK_SET Position on read pos if retco 0 strcpy message char errmsg3 msglen strlen message return FLAM V4 3 UNIX 7 31 Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Anwendungsbeispiele Kapitel 7 countl filestat st_size read_pos Check if file wrap if countl gt KMX_KEY_LENGTH necessary retco fread cryptokey 1 if not read full key KMX_KEY_LENGTH khandle if retco KMX_KEY_LENGTH strcpy message char errmsg4 Mi msglen strlen message retco 1 return I retco 0 else retco fread cryptokey 1 countl khandle if yes read first part if retco countl strcpy message char errmsg4 msglen strlen message I Wi retco 1 return I read_pos
18. 0 I retco fseek khandle read pos SEEK_SET reposition on beginning if retco 0 wrap around strcpy message char errmsg3 msglen strlen message return count2 KMX_KEY_LENGTH countl retco fread amp cryptokey countl 1 then read second part count2 khandle if retco count2 strcpy message char errmsg4 Mi msglen strlen message retco 1 return cryptokey KMX_KEY_LENGTH 0 Terminate string Wi ckylen KMX_KEY_LENGTH Set length fclose khandle Close file return I Diese Funktion bedient die Schnittstelle des Benutzerausgangs f r automatische Schl sselverwaltung Damit FLAM sie aktivieren kann muss sie Bestandteil einer Shared Library sein die im lib Unterverzeichnis des Installationsverzeichnisses von FLAM residiert Hat diese Shared Library beispielsweise den Namen libuserex so so muss um die Schl ssel ber diese Funktion automatisch zu verwalten im flam Kommando oder dem Kommandostring an flamup kmexit samplex1 libuserex angegeben werden Bei der Verschl sselung Komprimierung wird dann ein Schl ssel automatisch erzeugt und an FLAM bergeben Auch die f r die Wiedergewinnung des Schl ssels ben tigte Information bergibt die Funktion an FLAM das sie in einem anwenderspezifischen Fileneader speichert Bei der
19. 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Oxff 0x06 0x01 0x00 FLAM V4 3 UNIX B 5 Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Codetabellen Anhang B fk open filename O_CREAT O_WRONLY O_TRUNC if fk 1 perror Open File exit 1 status chmod filename S_IWUSR S_IRUSR S_IRGRP S_IROTH if status 1 perror chmod exit 1 status write fk ebcdic 256 if status 256 perror Schreibfehler status close fk exit 0 B 6B 6B 6B 6B 6C 6 B 6 FLAM V4 3 UNIX Frankenstein Limes Access Method 2014 by limes datentechnik gmbh
20. 4 1 Funktionen der Satzschnittstelle 4 3 4 2 Programmierung der Satzschnittstelle bei der Komprimierung 4 4 4 3 Programmierung der Satzschnittstelle bei der Dekomprimierung 4 6 4 4 Beschreibung der flamrec Funktionen 4 6 fImcels 4 7 fImflu 4 9 fImget 4 11 fImghd 4 12 fImguh 4 15 fImopd 4 16 fImopf 4 19 fImopn 4 22 fImphd 4 24 fImpos 4 26 fImpuh 4 27 fImput 4 28 fImpwd 4 29 4 5 Einbinden von Funktionen der Satzschnittstelle in Anwenderprogramme 4 30 FLAM V4 3 UNIX v Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Inhaltsverzeichnis Kapitel 5 Kapitel 6 Kapitel 7 VIVIVIVIVIVIVI Frankenstein Limes Access Method 5 1 5 2 6 1 6 1 1 6 1 2 6 2 6 2 1 6 2 2 7 1 7 2 7 2 1 7 2 2 Die Benutzer Ein Ausgabe Schnittstelle Anwendung der Benutzer Ein Ausgabe Schnittstelle usrcls usrget usropn usrpos usrput Einbinden von Benutzer Ein Ausgabe Routinen in Anwenderprogramme Die Benutzerausg nge Benutzerausg nge f r Dateizugriffe Zugriffsexits Programmierung der Zugriffsexits Der Benutzerausgang exd10 Der Benutzerausgang exd20 Der Benutzerausgang exk10 Der Benutzerausgang exk20 Einbinden der Zugriffsexits in Anwenderprogramme Der Benutzerausgang f r automatische Schl sselverwaltung Schl sselexit Programmierung des Schl sselexits kmfunc Erzeugung des Schl sselexits Anwendungsbeispiele Kommandos Komprimieren Eine Datei in eine Datei
21. 4 Beschreibung der flamrec Funktionen Im folgenden Teil sind die Funktionen der Satzschnittstelle in alphabetischer Reihenfolge beschrieben FLAM V4 3 UNIX 4 7 Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Die Satzschnittstelle flmels Syntax Argumente fImid returncode cputime records bytes 4 84 84 84 8 4 84 84 8 Frankenstein Limes Access Method Kapitel 4 Mit der Funktion flmcls close wird der Zugriff auf die Satzschnittstelle beendet Bei der Komprimierung wird noch die letzte Matrix komprimiert das Komprimat auf die FLAMFILE geschrieben und dann die FLAMFILE geschlossen Bei Secure FLAMFILEs wird auch ein Filetrailer erzeugt Beim Dekomprimieren wird nur die FLAMFILE geschlossen falls noch vorhanden werden restliche Originals tze nicht mehr bergeben Falls beim fImopn angefordert statistics 0 werden die Statistikinformationen mit bergeben void flmcls char flmid long returncode unsigned long cputime unsigned long records unsigned long bytes unsigned long byteofl unsigned long cmprecs unsigned long cmpbytes unsigned long cmpbytofl Der Feldinhalt von flmid ist ein Pointer auf einen Character String Dieses Argument identifiziert die FLAMFILE f r die die Funktion auszuf hren ist Es wird durch die Funktion fImopn gesetzt und darf bis zum flmcls nicht ver ndert werden In diesem Argument wird ein Returncode an das aufrufende Progr
22. 7 327 327 327 327 327 327 32 FLAM V4 3 UNIX Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Kapitel 7 Anwendungsbeispiele Enschl sselung Dekomprimierung reicht FLAM diese Information zur ck an die Funktion und erh lt von ihr wieder den passenden Schl ssel FLAM V4 3 UNIX 7 33 Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Kapitel 7 Anwendungsbeispiele FLAM UNIX Benutzerhandbuch Anhang A Returncodes FLAM V4 3 UNIX Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Kapitel 7 Returncode 10 FLAM V4 3 UNIX Frankenstein Limes Access Method Anwendungsbeispiele A Returncodes Symbolischer Name Bedeutung FLAM_FCT_NOT_EXIST Bedeutung Funktion nicht verf gbar vorhanden erlaubt Wird von flamup in 999 abge ndert FLAM_NORMAL Bedeutung Kein Fehler FLAM_RECORD_SHORTENED Bedeutung Dekomprimierter Satz verk rzt Warnung aus Satzschnittstelle FLAM_EOF Bedeutung end of file FLAM_RECORD_LENGTHENED Bedeutung Dekomprimierte r S tze Satz verl ngert FLAM_NEW FILE Bedeutung Neue Datei beginnt FLAM_NO_PW Bedeutung Kennwort muss angegeben werden FLAM_NO_FILEHEADER Bedeutung Kein Fileheader vorhanden FLAM_NOT_FLAMFILE Bedeutung Datei ist keine FLAMFILE 2014 by limes datentechnik gmbh Returncodes Returncode 11 12 13 14 15 16 17 20 22 25 26 A AA AA AA A
23. ASCII Code umzusetzen sind bersetzungsoptionen haben das Format ebcdic_code ascii_code ebcdic_code und ascii_code sind jeweils der Code des umzusetzenden EBCDIC Zeichens bzw des einzusetzenden ASCII Zeichens angegeben als Hexadezimalzahl zwischen 00 und ff Siehe Beschreibung des Parameters flamcode Legt den Standard Dateinamen f r die FLAMFILE fest Die Dateispezifikation muss eine einzelne Datei eindeutig benennen und darf weder Wildcards enthalten noch als Substitutionsvorschrift angegeben werden Es ist zu beachten dass bei der Definition eines Standard Dateinamens f r die FLAMFILE stdin bzw stdout nicht mehr benutzt werden kann Mit flamfile none wird die Verwendung eines Default wertes f r diese Einstellung anulliert Dieser Dateiname ist bei der Komprimierung der Defaultwert f r die Ausgabedatei und bei der Dekomprimierung der Defaultwert f r die Eingabedatei Die mit recformat recsize recdelim delete user_io exd20 und exk20 angegebenen Charakteristika beziehen sich auf diese Datei flamin Eingabespezifikation flamin none 2 122 122 122 122 122 12 Frankenstein Limes Access Method Legt den Standard Dateinamen f r die Eingabedatei bei der Komprimierung fest Die Eingabespezifikation ist eine Dateispezifikation Sie muss eine einzelne Datei eindeutig benennen und keine Wildcards enthalten Es ist zu beachten dass bei der Definition eines Stan dard Dateinamens f r die Eingabedatei stdin ni
24. Beschreibung 2 462 462 462 462 462 46 Frankenstein Limes Access Method Kapitel 2 Zeigt Fehler und Warnhinweise und folgende Statistik an Anzahl komprimierter S tze Anzahl komprimierter Bytes Anzahl unkomprimierter S tze Anzahl unkomprimierter Bytes Komprimierungseffizienz im Vergleich zur Originaldatei nur bei Komprimierung 1 ben tigte Zeit 1 Diese Effizienz wird als Verh ltnis der effektiv gelesenen zu der ausgegebenen Byteanzahl in Prozent angegeben Satzl ngenfelder bzw Satztrennzeichen sowie Zeichen zum Auff llen von Komprimatss tzen werden nicht ber cksichtigt Mit diesem Parameter steuern Sie die Informationsausgabe von FLAM Sie k nnen w hlen zwischen umfassender Information all Fehler und Warnhinweisen mit oder ohne Statistik error bzw statistics und keinerlei Ausgabe none Bei der Dekomprimierung haben Sie die M glichkeit sich lediglich Informationen ber die Originaldatei anzeigen zu lassen ohne eine dekomprimierte Datei zu erzeugen Dazu verwenden Sie showsattributes Enth lt die FLAMFILE Komprimate mehrerer Dateien so werden die Informationen ber alle enthaltenen Originaldateien nacheinander angezeigt Eine Anzeige dieser Informationen erfolgt jedoch nur wenn diese bei der Komprimierung in die FLAMFILE mit eingetragen wurden siehe Parameter attributes Bei Angabe von showsattributes wird der Parameter Ausgabedatei ignoriert Die Ausgabe der Meldungen kann durch die A
25. Datei bergeben Diese Zeichenkette ist mit einem Null Byte Bin rnull abgeschlossen Diese Spezifikation kann auch ein logischer Name sein Der tats chliche Dateiname soll in diesem Argument zur ck gegeben werden und die Namensl nge im Argument filename_length FLAM V4 3 UNIX 5 7 Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Benutzer Ein Ausgabe Schnittstelle Kapitel 5 organization record format record size block_size key_description device record _delimiter pad_char 5 85 85 85 85 85 8 Frankenstein Limes Access Method Der Inhalt dieses Arguments steht auch am Anfang des mit dem Argument workarea bergebenen Speicherbereichs Dieses Argument ist f r k nftige Erweiterungen reserviert In diesem Argument wird ein Code f r das Satzformat der zu ffnenden Datei bergeben bzw zur ckgegeben Die Werte sind wie folgt definiert 0 variabel var_2b 1 fix 2 undefined 3 stream 18 eaf 32 var_4b 40 var_ascii 48 var _ebcedic In diesem Argument wird die Satzl nge der Datei bergeben bzw kann f r eine Eingabedatei zur ckgegeben werden Der Wert O wird bei variablen Satzformaten gesetzt Ein Wert ungleich O ist bei den Satzformaten fix und undefined erforderlich Dieses Argument ist f r k nftige Erweiterungen reserviert Beim Offnen einer indexsequentiellen Datei gibt dieses Argument den Speicherbereich an in dem die Beschreibung des Schl ssels bergeben bzw
26. Mehrere Dateien in eine Datei 5 3 5 5 5 6 5 7 5 10 5 11 6 3 6 4 6 5 6 7 6 9 6 11 6 13 6 13 6 13 6 14 6 16 7 3 7 3 7 3 7 3 7 3 FLAM V4 3 UNIX 2014 by limes datentechnik gmbh Anhang A Anhang B FLAM V4 3 UNIX Frankenstein Limes Access Method 7 2 3 Mehrere Dateien in jeweils eine Datei 7 3 Dekomprimieren 7 3 1 Eine Datei in eine Datei 7 3 2 Eine Komprimatsdatei bestehend aus mehreren Originaldateien in jeweils eine der Originaldatei gleiche Datei 7 3 3 Mehrere Dateien in eine Datei 7 3 4 Mehrere Dateien in jeweils eine Datei 7 4 Verwendung einer Parameterdatei 7 5 Verwendung der Unterprogramm schnittstelle 7 6 Verwendung der Satzschnittstelle 7 6 1 Komprimieren einer Datei 7 6 2 Dekomprimieren einer Datei 7 7 Benutzereigene Ein Ausgabe 7 7 1 ffnen einer Datei 7 7 2 Lesen einer Datei 7 7 3 Schreiben einer Datei 7 7 4 Schlie en einer Datei 7 8 Die Benutzerausg nge 7 8 1 Mit exk10 S tze einer bestimmten Satzart aus einer Datei selektieren und komprimieren 7 8 2 Mit exd10 S tze einer komprimierten Datei verarbeiten 7 8 3 exk20 Vertauschen von 2 Byte bei der Komprimierung 7 8 4 exd20 Vertauschen von 2 Byte bei der Dekomprimierung 7 8 5 Funktion zur automatischen Schl sselverwaltung Returncodes Inhaltsverzeichnis Codetabellen 7 4 7 4 7 4 7 4 7 5 7 5 7 5 7 6 7 9 7 9 7 14 7 19 7 19 7 22 7 23 7 24 7 25 7 25 7 26 7
27. Method Die Benutzerausg nge Dieser Benutzerausgang kann bei der Dekomprimierung f r die Zugriffe auf die dekomprimierte Datei zur Nachbearbeitung der auszugebenden S tze benutzt werden Er wird durch das Unterprogramm flamup ber den Parameter exd10 Exitspezifikation im Argument parameter_string aktiviert Er erh lt die Kontrolle nach dem ffnen und vor jedem Schreibzugriff und dem Schlie en der dekomprimierten Datei wobei ihm vor Schreibzugriffen der zu schreibende Satz zur Verf gung gestellt wird Bei R ckgabe der Kontrolle an FLAM bergibt er einen Returncode void exd10 long functioncode Jong returncode char record _pointer Jong record _length char work In diesem Argument wird dem Benutzerausgang ein Funktionscode bergeben G ltige Werte sind 0 Erster Aufruf f r die Datei nach open 4 Satz im Satzpuffer bereitgestellt 8 Letzter Aufruf f r die Datei vor close In diesem Argument gibt der Benutzerausgang einen Returncode an FLAM zur ck Siehe besondere Beschreibung der Returncodes und ihrer Bedeutungen Dieses Argument enth lt einen Pointer auf einen Character String Bei Aufrufen mit Funktionscode 4 enth lt er die Adresse des zu schreibenden Satzes Diese Adresse kann vom Benutzerausgang ge ndert werden beispielsweise um einen Satz einzuf gen Dieses Argument enth lt bei Aufrufen mit Funktionscode 4 die L nge des zu schreibenden Satzes Diese L nge kann vom Benutzerausgang ge ndert w
28. Organisation einem anderen Satzformat oder mit ver nderter Satzl nge erzeugt werden FLAM V4 3 UNIX 2014 by limes datentechnik gmbh Kapitel 1 FLAM V4 3 UNIX Frankenstein Limes Access Method FLAM im berblick 1 2 FLAM Modi FLAM kennt vier Komprimierungsmodi adc cx7 cx8 vr8 Im Modus adc cx8 und vr8 erzeugt FLAM die FLAMFILE als bin re Datei adc ist der effizienteste Komprimierungsmodus Er komprimiert in Richtung des Datenflusses durch Eliminierung von Redundanz sich wiederholender Bytefolgen und eignet sich zur Anwendung auf beliebige Daten Die anderen Modi reduzieren vorwiegend vertikale Redundanz d h ihre Wirksamkeit beruht auf der Erkennung gleicher Spalteninhalte bei tabellarisch strukturierten Daten Der Komprimierungsmodus adc kann mit Verschl sselung kombiniert werden wof r FLAM zwei Verfahren anbietet n mlich das im Jahr 2002 vom U S Normeninstitut NIST zum Standard erkl rte AES und ein propriet res Verfahren der limes datentechnik gmbh Diesen beiden m glichen Kombinationen entsprechen die FLAM Modi aes bzw flamenc Mit den anderen Komprimierungsmodi ist eine Verschl sselung nicht m glich Bei den bin ren Modi ist die komprimierte Codierung der Information weitgehend unabh ngig von Charakteristika des Systems auf dem die Komprimierung ausgef hrt wird d h die FLAMFILEs d rfen nicht ver ndert werden etwa durch bertragung ber Leitungen die automatisch eine Code bers
29. Satz sequentiell geschrieben void usrput char workio long returncode long record_length char record Dieses Argument ist ein Bereich von 1 KByte der von FLAM bei jedem Aufruf einer Benutzer Ein Ausgabe Funktion als Arbeitsbereich zur Verf gung gestellt wird und zwischen den Aufrufen von FLAM nicht ver ndert wird In diesem Argument wird ein Returncode an das aufrufende Programm zur ckgegeben Dieses Argument enth lt die Satzl nge in Bytes Dieses Argument ist der Satzpuffer Eine Beschreibung der Returncodes befindet sich in Anhang A Returncodes 5 11 Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Benutzer Ein Ausgabe Schnittstelle Kapitel 5 5 2 Einbinden von Benutzer Ein Ausgabe Routinen in Anwenderprogramme Der Datenzugriff ber Benutzer Ein Ausgabe Routinen wird von FLAM bei Aufrufen sowohl der Unterprogramm als auch der Satzschnittstelle unterst tzt Um mit FLAM ber Benutzer Ein Ausgabe Routinen auf die Daten zugreifen zu k nnen m ssen die eingebundenen zugeh rigen Objektdateien f r alle oben genannten Zugriffsfunktionen vorhanden sein nicht ben tigte Funktionen k nnen leer sein Das Binden der Routinen mit dem Anwenderprogramm erfolgt gem der in Abschnitt 3 3 Binden von flamup beschriebenen Vorgehensweise bzw wie in in Abschnitt 4 5 Einbinden von Funktionen der Satzschnittstelle in Anwenderprogramme beschrieben 5 125 125 125 125 125 1
30. als shareable objects erzeugt und mit der Anwendung dynamisch gebunden sein s Abschnitt 6 2 Hinweis In diesem Handbuch werden die Begriffe Kennwort und kryptographischer Schl ssel synonym verwendet 1 17 2014 by limes datentechnik gmbh Die Benutzerausg nge FLAM UNIX Benutzerhandbuch Kapitel 2 Das Kommando flam Die Benutzerausg nge 2 Das Kommando flam 2 1 Funktionen Mit dem Kommando flam k nnen folgende Funktionen aufgerufen werden e Komprimierung von Dateien mit oder ohne Verschl sselung mit dem Parameter compress e Dekomprimierung von Dateien ggf mit Entschl sselung mit dem Parameter decompress e ndern von installationsspezifischen Standard einstellungen Defaultwerten mit dem Parameter defaults e Anzeige von installationsspezifischen Standard einstellungen mit dem Parameter Jet Beim Aufruf des flam Kommandos kann jede der erforderlichen Angaben auf unterschiedlichen Spezifikationsebenen n mlich explizit im Kommando selbst ber eine Parameterdatei oder implizit durch Defaultwerte spezifiziert werden Die nachstehende Beschreibung der Kommando Syntax stellt die logischen Beziehungen zwischen den Syntaxelementen also den Parametern und deren Argumenten dar unabh ngig davon auf welcher Ebene die Spezifikation tats chlich erfolgt Die nachstehende Einstufung der Syntaxelemente als obligatorisch oder optional gilt f r diese Pr fung durch FLAM Die Syntaxr
31. bergeben und die L nge des Namens zur ckgegeben Dieses Argument ist der Bereich in dem der Name der zu ffnenden Datei bergeben bzw zur ckgegeben wird Eine Beschreibung der Returncodes befindet sich in Anhang A Returncodes 5 9 2014 by limes datentechnik gmbh Benutzer Ein Ausgabe Schnittstelle Kapitel 5 usrpos Mit usrpos wird bei der Dekomprimierung einer relativen Datei der Satzschl ssel erh ht wenn in der dekomprimierten Datei L cken zu erzeugen sind Diese Funktion wird nicht benutzt und ist deshalb leer Syntax void usrpos char workio long returncode long position Argumente workio Dieses Argument ist ein Bereich von 1 KByte der von FLAM bei jedem Aufruf einer Benutzer Ein Ausgabe Funktion als Arbeitsbereich zur Verf gung gestellt wird und zwischen den Aufrufen von FLAM nicht ver ndert wird returncode In diesem Argument wird ein Returncode an das aufrufende Programm zur ckgegeben position In diesem Argument wird die Anzahl zu berspringender Satzpositionen bergeben Returncodes Eine Beschreibung der Returncodes befindet sich in Anhang A Returncodes 5 105 105 105 105 105 105 10 FLAM V4 3 UNIX Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Kapitel 5 Benutzer Ein Ausgabe Schnittstelle usrput Syntax Argumente workio returncode record _length record Returncodes FLAM V4 3 UNIX Mit dieser Funktion wird ein von FLAM bergebener
32. damit die Dateien unter Verwendung ihres urspr nglichen Namens einzeln dekomprimiert werden W rde eine Ausgabedatei spezifiziert entst nde eine einzige Datei in der alle S tze der Ursprungsdateien aneinandergef gt sind 2 51 2014 by limes datentechnik gmbh Das Kommando flam 2 522 522 522 522 522 52 Frankenstein Limes Access Method Kapitel 2 2 5 Priorit tsregeln f r FLAM Einstellungen Beim flam Kommando k nnen Einstellungen wie die Wahl der Operation Komprimierung oder Dekomprimierung Ein und Ausgabedateien etc direkt im Kommando oder ber eine Parameterdatei explizit vorge nommen werden Ferner sind durch Weglassen bestimmter Angaben implizite Einstellungen m glich wie etwa der Komprimierungsmodus bei der Komprimierung Die effektiven Einstellungen bei fehlenden oder redundanten Angaben werden durch Auswertung verschiedener Informationen in einer festgelegten Reihenfolge ermittelt aus der eine Priorit tsrangfolge resultiert die sich auf die Kategorie wie auch auf den Ursprung der Informationen bezieht Da Parameterdateien auf andere Parameterdateien verweisen k nnen ist eine Verkettung mehrerer Parameterdateien m glich die u U widerspr chliche Angaben enthalten k nnen Hier hat die erste Parameterdatei vor allen anderen Vorrang Bei mehrfacher Angabe derselben Parameter innerhalb einer Parameterdatei wird jedoch nur die letzte Angabe wirksam F r die Bestimmung der FLAM Einstellungen
33. dat cmp mode adc 7 3 Dekomprimieren 7 3 1 Eine Datei in eine Datei Die Datei test cemp wird dekomprimiert und die dekomprimierten Daten werden in die Datei test dat geschrieben Die komprimierte Datei kann aus einer oder mehreren Originaldateien bestehen flam decompress flamfile test cmp flamout test dat 7 3 2 Eine Komprimatsdatei bestehend aus mehreren Originaldateien in jeweils eine der Originaldatei gleiche Datei Eine Komprimatsdatei die die Daten mehrerer Originaldateien jeweils mit FLAM Fileheader attributes all enth lt wird dekomprimierrt Die dekomprimierten Daten jeweils einer Originaldatei werden in eine Datei gleichen Namens mit gleichen Attributen geschrieben flam decompress flamfile test cmp flamout FLAM V4 3 UNIX 2014 by limes datentechnik gmbh Kapitel 7 FLAM V4 3 UNIX Frankenstein Limes Access Method Anwendungsbeispiele 7 3 3 Mehrere Dateien in eine Datei Die Dateien mit dem Suchmuster t cmp werden dekomprimiert und die dekomprimierten Daten werden in die Datei test dat geschrieben flam decompress flamfile t cmp flamout test dat 7 3 4 Mehrere Dateien in jeweils eine Datei Die Dateien mit dem Suchmuster t cmp werden dekomprimiert Die dekomprimierten Daten werden jeweils in eine Datei gleichen Namens mit dem Suffix dat geschrieben flam decompress flamfile t cmp flamout cmp dat Hierbei ist zu beachten dass s mtliche Komprimate aus einer ei
34. datentechnik gmbh Das Kommando flam 2 562 562 562 562 562 56 Frankenstein Limes Access Method Kapitel 2 2 7 Die FLAM Defaultwertedatei Defaultwerte f r das flam Kommando werden bei der Installation von FLAM in der Defaultwertedatei flam_def dat gespeichert die im Unterverzeichnis lib des Installationspfads angelegt wird Diese Datei wird mit den Zugriffsrechten rw r r angelegt Sie kann jederzeit vom Systemmanager ge ndert darf aber nicht gel scht werden Zur nderung der Defaultwertedatei wird das flam Kommando mit dem Parameter defaults verwendet Die Einstellungen in der Defaultwertedatei k nnen durch das Kommando flam list angezeigt werden Hierf r sind keine besonderen Privilegien erforderlich Beim Aufruf von FLAM werden Angaben f r die weder aus der Kommandozeile noch in einer Parameterdatei Einstellungen vorliegen erforderlichenfalls aus der Defaultwerte Datei flam_def dat entnommen die die installationsspezifischen Standardeinstellungen enth lt Diese Datei ist bin r und darf nicht mit anderen Programmen als flam ge ndert werden 2 56 FLAM V4 3 UNIX 2014 by limes datentechnik gmbh Kapitel 2 Das Kommando flam 2 8 Alternative Bezeichnungen von Parametern Zum Teil werden alte Parameter durch neue ersetzt um die erweiterte Funktionalit t von FLAM besser benutzen zu k nnen z T sind auch systemspezifisch f r die gleiche Funktion andere Bezeichnungen gew hlt worden Um zur V
35. datentechnik gmbh Kapitel 2 maxrecords Syntax Werte Beschreibung FLAM V4 3 UNIX Frankenstein Limes Access Method Das Kommando flam Dieser Parameter gibt die maximale Anzahl der S tze an die in einem Komprimatsblock komprimiert werden maxrecords n n Ganze Zahl zwischen 1 und 4095 FLAM speichert S tze bis zu der vorgegebenen Anzahl im Matrixpuffer zwischen und komprimiert sie dann Diese vorgegebene Anzahl kann von Fall zu Fall unterschritten werden wenn die Matrixpuffergr e f r die volle Anzahl von S tzen nicht ausreicht Die Komprimierungseffizienz nimmt in der Regel mit der Anzahl zu Mit maxrecords 1 wird eine sequentielle satzweise Komprimierung erreicht Bei Modi cx7 cx8 und vr8 werden maximal 255 S tze je Matrix gespeichert Wird ein h herer Wert angegeben wird er nur im Komprimierungsmodus adc wirksam 2 27 2014 by limes datentechnik gmbh Das Kommando flam mode Syntax Werte FLAM Modus adc aes flamenc cx7 cx8 vr8 Beschreibung 2 282 282 282 282 282 28 Frankenstein Limes Access Method Kapitel 2 Dieser Parameter gibt den Modus an in dem die Originaldatei komprimiert und ggf verschl sselt wird mode FLAM Modus Bedeutung Mit mode adce wird die Eingabedatei im adc Modus komprimiert und eine bin re FLAMFILE erzeugt Dies ist der effizienteste FLAM Modus und ist universell einsetzbar ungeachtet der Datenstruktur Beide verschl sselnde
36. die entsprechenden Parameter verwiesen wird k nnen Syntax und Bedeutung den jeweiligen Beschreibungen entnommen werden Gibt an wie einzelne ASCII Zeichen in EBCDIC Code umzusetzen sind bersetzungsoptionen haben das Format asch code ebcdic_code asch code und ebcdic_code sind jeweils der Code des umzusetzenden ASCIl Zeichens bzw des einzusetzenden EBCDIC Zeichens angegeben als Hexadezimalzahl zwischen 00 und ff Beispielsweise bewirkt defaults ascii_ ebcdic 41 81 dass bei einer Komprimierung mit translate e a jedes ASCII A in ein EBCDIC a umgesetzt wird Siehe Beschreibung des Parameters attributes Hinweis Es ist zu empfehlen als Defaultwert attributes all einzusetzen damit FLAMFILES die unter Benutzung der Defaultwerte erzeugt worden sind und Komprimate mehrerer Originaldateien enthalten wieder in einzelne Dateien mit den Originalnamen und den Originaldateiattributen wie z B dem Satzformat dekomprimiert werden k nnen Andernfalls gehen bei Benutzung der Defaultwerte diese Informationen verloren und die Herkunft der Dateien ist sp ter nicht mehr rekonstruierbar 2 11 2014 by limes datentechnik gmbh Das Kommando flam compress decompress ebcdic_ascii bersetzungsoption flamcode Zeichensatz flamfile Dateispezifikation flamfile none Kapitel 2 Siehe Beschreibung des Parameters compress Siehe Beschreibung des Parameters decompress Gibt an wie einzelne EBCDIC Zeichen in
37. exparm muss immer ein Klammerpaar stehen ggf auch ohne Inhalt Mit diesem Parameter wird FLAM der Name einer Funk tion bergeben die FLAM dann aufruft um ein Kennwort f r die Ver oder Entschl sselung einer Datei zu empfangen Diese Funktion muss sich in einer Shared Library so Datei befinden deren Name nach dem Funktionsnamen angegeben werden kann Ferner k nnen dem Librarynamen Parameter als alphanumerische Zeichenkette nachgestellt werden 2 22 FLAM V4 3 UNIX 2014 by limes datentechnik gmbh Kapitel 2 Das Kommando flam F r kmexit ist kein Defaultwert zul ssig Bei Benutzung dieses Parameters darf password nicht verwendet werden F r Details zur Schnittstelle zu diesem Benutzerausgang und dessen Erzeugung siehe Abschnitt 6 2 FLAM V4 3 UNIX 2 23 Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Das Kommando flam list Syntax Werte Beschreibung 2 242 242 242 242 242 24 Frankenstein Limes Access Method Kapitel 2 Mit diesem Parameter k nnen die installationsspezifischen Defaultwerte angezeigt werden Die Anzeige von Defaultwerten kann nur mittels eines Kommandos erfolgen ist Listspezifikation Listspezifikation Hierf r kann optional jeder FLAM Parameter angegeben werden f r den ein Standardwert eingestellt werden kann Die installationsspezifischen Standardeinstellungen k nnen mit dem Parameter list am Bildschirm angezeigt werden Bei Angabe einer
38. gmbh Kapitel 5 Benutzer Ein Ausgabe Schnittstelle usrels Mit dieser Funktion wird eine Datei geschlossen Syntax void usrels char workio long returncode Argumente workio Dieses Argument ist ein Bereich von 1 KByte der von FLAM bei jedem Aufruf einer Benutzer Ein Ausgabe Funktion als Arbeitsbereich zur Verf gung gestellt wird und zwischen den Aufrufen von FLAM nicht ver ndert wird returncode In diesem Argument wird ein Returncode an das aufrufende Programm zur ckgegeben Returncodes Eine Beschreibung der Returncodes befindet sich in Anhang A Returncodes FLAM V4 3 UNIX 5 5 Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Benutzer Ein Ausgabe Schnittstelle Kapitel 5 usrget Syntax Argumente workio returncode record _length record buffer_length Returncodes 5 65 65 65 65 65 6 Frankenstein Limes Access Method Mit dieser Funktion wird ein Satz sequentiell gelesen und an FLAM bergeben void usrget char workio long returncode long record_length char record long buffer_length Dieses Argument ist ein Bereich von 1 KByte der von FLAM bei jedem Aufruf einer Benutzer Ein Ausgabe Funktion als Arbeitsbereich zur Verf gung gestellt wird und zwischen den Aufrufen von FLAM nicht ver ndert wird In diesem Argument wird ein Returncode an das aufrufende Programm zur ckgegeben In diesem Argument ist die L nge des gelesenen Satzes in Bytes zur ckzugeben
39. ist ber die Unterprogrammschnittstelle aktiviierbrar und im Gegensatz zu den Zugriffsexits auch ber das flam Kommando nicht jedoch ber die Satzschnittstelle Ein weiterer Unterschied zu den Zugriffsexits ist dass die Schl sselexit Routine dynamisch gebunden wird Sie wird als shared object erzeugt und sowohl der Name der shared library wie der der aufgerufenen Funktion sind frei w hlbar und werden FLAM als Parameter bergeben 6 2 1 Programmierung des Schl sselexits Auch Schl sselexits d rfen keine Benutzer Interaktionen enthalten falls sie f r die Stapelverarbeitung geeignet sein sollen Konsolausgaben k nnen mit der FLAM Protokollierung synchronisiert werden Dazu dienen die Argumente message und msglen sowie der Funktionscode 1 Versionsidentifikation FLAM ruft bei jeder Ausf hrung den Exit einmal mit diesem Funktionscode auf um einen ggf zur ckgereichten Meldungstext an geeigneter Stelle im Protokoll auszugeben Bei den anderen Funktioncodes sollten Meldungstexte nur in Fehlerf llen zur ckgegeben werden mit einem Hinweis auf den Abbruchgrund Im Folgenden ist die Syntax der Schnittstelle zwischen FLAM und dem Schk sselexit detailliert beschrieben 6 13 2014 by limes datentechnik gmbh Die Benutzerausg nge kmfunc Syntax Argumente functioncode returncode parmlen param datalen Kapitel 6 Dieser Benutzerausgang kann bei der Ver und Entschl sselung benutzt werden um F
40. long returncode long user_attr_length char user_attributes Der Feldinhalt von flmid ist ein Pointer auf einen Character String Dieses Argument identifiziert die FLAMFILE f r die die Funktion auszuf hren ist Es wird durch die Funktion fImopn gesetzt und darf bis zum flmcls nicht ver ndert werden In diesem Argument wird ein Returncode an das aufrufende Programm zur ckgegeben In diesem Argument wird die L nge des anwenderspezifischen Headers bergeben max L nge 32 732 Bytes Dieses Argument gibt einen Speicherbereich an der den anwenderspezifischen Header enth lt dessen Inhalt vom Anwender beliebig gesetzt werden kann fImpuh darf nur beim Komprimieren benutzt werden Es darf nur unmittelbar nach flmphd aufgerufen werden und ist bei Secure FLAMFILESs obligatorisch Returncodes Eine Beschreibung der Returncodes befindet sich in Anhang A Returncodes 4 284 284 284 284 284 284 28 FLAM V4 3 UNIX Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Kapitel 4 fImput Syntax Argumente fImid returncode record_length record Abh ngigkeiten Returncodes FLAM V4 3 UNIX Frankenstein Limes Access Method Die Satzschnittstelle Mit der Funktion flmput put record wird jeweils ein Originalsatz zum Komprimieren bergeben void fImput char flmid long returncode long record_length char record Der Feldinhalt von flmid ist ein Pointer auf einen Character St
41. long orgao blkso recfo long long long recso union char c 4 unsigned long i recdelo long cldispo struct kd keydesco char exk20 34 char exd20 34 char ptr irl unsigned long long rc unsigned long cputime unsigned long zks zkb zkbofl zunks unsigned long unsigned long unsigned long unsigned long zunkb unsigned long zunkbofl FILE infile long uattrlen static char usrattr 50 Die printf Dateiname input scanf s oname printf Dateiname output scanf s kname infile fopen oname r if infile NULL exit 1 FLAM V4 3 UNIX Frankenstein Limes Access Method ZS Anwendungsbeispiele Satzanzahl Block Puffergroesse in KB max max Letzter Parameter Komprimatsdatei Blocksize Satzformat Satzlaenge Geraet Organisation Satztrenner Close Disposition Schluesselbeschreibung Originaldatei Geraet Organisation Blocksize Satzformat Satzlaenge bei fix Satztrenner Close Disposition Schluesselbeschreibung Name Exitroutine Name Exitroutine Pointer Integer Return Code CPU Zeit Ueberlauf Ueberlauf Satzzaehler Bytezaehler Bytezaehler Satzz
42. oder vier hexadezimale Ziffern zwischen 01 und ffff Mit diesem Parameter kann beim Satzformat stream das Satztrennzeichen angegeben werden Wird kein Satztrennzeichen beim Satzformat stream angegeben wird Ox0a verwendet Z B kann durch Angabe von recdelim 0d0a die Ausgabe der Daten im MS DOS Format erfolgen Dieser Parameter kann nur bei der Komprimierung im Modus cx7 angegeben werden 2 41 2014 by limes datentechnik gmbh Das Kommando flam recformat Syntax Werte Formatoption fix variable stream Beschreibung 2 422 422 422 422 422 42 Frankenstein Limes Access Method Kapitel 2 Mit diesem Parameter wird das Satzformat der FLAMFILE angegeben recformat Formatoption Bedeutung S tze mit fester Satzl nge S tze mit variabler Satzl nge das Satzl ngenfeld ist 2 Byte lang S tze mit variabler Satzl nge und Satztrennzeichen nur mit mode cx7 zul ssig Die FLAMFILE enth lt immer S tze gleicher L nge Beim Modus cx8 und vr8 k nnen die S tze mit variable oder ohne fix Satzl ngenfeld geschrieben werden Beim Modus cx7 wird das Satzformat stream verwendet Wenn keine Angabe von recdelim erfolgt wird als Satz trennzeichen Ox0a benutzt Die Angabe recformat ist nur bei der Komprimierung erforderlich 2 42 FLAM V4 3 UNIX 2014 by limes datentechnik gmbh Kapitel 2 recsize Syntax Werte Beschreibung FLAM V4 3 UNIX Frankenstein Limes Access Method D
43. padchar FLAM_PLONG prcrtl FLAM_PLONG closdisp FLAM_PLONG access FLAM_PLONG namelen FLAM_PPCHAR filename FLAM V4 3 UNIX Frankenstein Limes Access Method I I Anwendungsbeispiele 1 9 17 fix 8 blocked 16 blocked standard 2 10 18 undefined 18 EAF 3 11 19 Stream negativ systemspezifische Attribute uebernehmen bei open output sattrlen ungleich 0 Satzlaenge 0 32767 recform v max Satzlaenge 0 recform f Satzlange recform u max Satzlaenge 0 recform s max Satzlaenge 0 Blocklaenge 0 ungeblockt 1 32767 negativ systemspezifische Attribute uebernehmen bei open output sattrlen ungleich 0 Schluesselbeschreibung Geraetetyp 0 Platte nicht bekannt 1 Band 2 Diskette 3 Streamer 7 15 23 User i o negativ systemspezifische Attribute uebernehmen bei open output sattrlen ungleich 0 Texttrenner beendet mit 0 bei vfc enthaelt das 1 Byte die Headerlaenge Fuellzeichen Vorschubsteuerzeichen Closeverarbeitung 0 rewind 1 unload 2 retain leave Zugriffsverfahren 0 logisch 1 physisch blockweise 2 mixed Blockzugriff mit Satzuebergabe Laenge Dateiname expanded name Dateiname expanded name 7 21 2014 by limes datentechnik gmbh Anwendungsbeispiele retco 0
44. unkomprmierte Bytes d n zunkb printf nAnzahl unkomprmierte Saetze d n zks printf Anzahl unkomprmierte Bytes d n zkb closinput rc infile Originaldatei schliessen Programm beenden closinput rc infile unsigned long rc FILE infile long il Originaldatei schliessen il fclose infile put_flmsg rc exit rc 7 147 147 147 147 147 147 14 FLAM V4 3 UNIX Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Kapitel 7 7 6 2 Anwendungsbeispiele Dekomprimieren einer Datei Die von FLAM dekomprimierten S tze einer Datei werden abgerufen Der Fileheader der aus dem allgemeinen und dem anwenderspezifischen Teil besteht wird gelesen Die Namen der Ein und Ausgabedateien werden im Dialog eingegeben Beispiel Dekomprimieren einer Datei File Header mit System und Anwenderteil wird gelesen include include include include include include lt stdio h gt lt time h gt lt sys types h gt lt sys stat h gt lt errno h gt lt fcentl h gt extern int errno extern int sys_nerr include main char char char char long flamincl h flmid kname 100 oname 100 dname 100 flcode long modus long long statis opmode long blkmode long header long prctrl long long version reclength long buflength long long char char char long unsigned
45. unsigned char unsigned long unsigned char uco retco parmlen param datalen data ckylen cryptokey msglen message To generate a password fuco 1 this exit routine randomly positions into a text file and extracts a string of length 8 It passes back the string in cryptokey and the blurred random position in data a password fuco 0 the read derived from data and the string is passed back in cryptokey To retrieve position is found there With fuco the routine 1 only a text line identifying is passed back in message 7 H e He e He He e He 22 2 2 2 e He e de He de 202 2 2 2 He e He He 2 He e He e ke 2 e ke e ke ke ke ke ke kk k f const char exit_id const char ffkmx const char errmsgl const char errmsg2 const char errmsg3 const char errmsg4 const char errmsg5 const char errmsg6 unsigned long countl unsigned long count2 unsigned long rnd_nbr unsigned long read_pos FILE khandle time_t unixtime struct tm p_tm struct stat filestat msglen 0 retco stat ffkmx amp files if retco 0 strcpy message char err msglen strlen message return 7 307 307 307 307 307 307 30 Frankenstein Limes Access Method Key Management Exit Version 1 0 0 flam ffkmx Can t get info on file flam ffkmx Can t open file flam ffkmx Positioning in file f
46. w hrend der Dekomprimierung zum Entschl sseln der Daten Das beim Dekomprimieren angegebene Kennwort muss mit dem der Komprimierung identisch sein sonst wird eine entsprechende Fehlermeldung ausgegeben Mit anderen Modi als adc aes oder flamenc f hrt dieser Parameter zu einer Fehlermeldung Bei Angabe eines Kennworts mit mode adc wird mit dem flamenc Verfahren verschl sselt 2 39 2014 by limes datentechnik gmbh Das Kommando flam 2 402 402 402 402 402 40 Frankenstein Limes Access Method Kapitel 2 Ein als einfache Zeichenfolge eingebenes Kennwort gilt als identisch mit dem Kennwort das aus den Hexadezimalziffern besteht die den Zeichencodes der einzelnen Zeichen entsprechen Es ist zu beachten dass eine Zeichenfolge die auf einem ASCII System eingegeben wird nicht identisch ist mit der gleichen Zeichenfolge auf einem System das EBCDIC Code verwendet Daher sollte f r den Datenaustausch zwischen Systemen mit unterschiedlichen Zeichencodes die hexadezimale Schreibweise benutzt werden F r password ist kein Defaultwert zul ssig Bei Benutzung dieses Parameters darf kmexit nicht verwendet werden 2 40 FLAM V4 3 UNIX 2014 by limes datentechnik gmbh Kapitel 2 recdelim Syntax Werte Beschreibung FLAM V4 3 UNIX Frankenstein Limes Access Method Das Kommando flam Dieser Parameter gibt das Satztrennzeichen der FLAMFILE an recdelim Satztrennzeichen Satztrennzeichen Zwei
47. werden die Informationen in folgender Rangfolge ausgewertet 1 die Kommandozeile 2 Parameterdateien 3 installierte Defaultwerte Soweit widerspr chliche oder unvertr gliche Angaben im Kommando selbst erkennbar sind wird das Kommando mit entsprechender Fehlermeldung abgewiesen 2 52 FLAM V4 3 UNIX 2014 by limes datentechnik gmbh Kapitel 2 FLAM V4 3 UNIX Frankenstein Limes Access Method Das Kommando flam In allen brigen Situationen gelten folgende Priorit tsregeln Eine im Kommando angegebene FLAM Operation Komprimierung Dekomprimierung hat Vorrang vor allen anderen Angaben Fehlt im Kommando diese Angabe wird sie ggf in der durch parfile oder als Defaultwert angegebene Parameterdatei gesucht Ist die Operation auch nicht als FLAM Parameter angegeben wird f r sie der installierte Defaultwert d h die Standardoperation eingesetzt Angaben die mit der auszuf hrenden FLAM Operation unvertr glich sind werden abgewiesen Fehlende Angaben im Kommando werden nach Ma gabe der Parameterdatei eingestellt falls eine solche im Kommando oder als installationsspezifischer Defaultwert angegeben ist Alle nach Anwendung der Regeln 1 3 noch nicht oder nicht vollst ndig bestimmten Einstellungen werden entsprechend den installationsspezifischen Defaultwerten gesetzt Bei fehlender Ein bzw Ausgabespezifikation werden die speziellen Dateien stdin bzw stdout benutzt Bei den FLAM Parametern we
48. zkb zkbofl zunks zunkb zunkbofl FILE outfile long uattrlen char usrattr 1000 7 167 167 167 167 167 167 16 Frankenstein Limes Access Method ZS ZS Kapitel 7 Komprimatsdatei Blocksize Satzformat Satzlaenge Geraet Organisation Satztrenner Close Disposition Schluesselbeschreibung Dekomprimierte Datei Geraet Organisation Blocksize Satzformat Satzlaenge bei fix Satztrenner Close Disposition Schluesselbeschreibung Originaldatei Blocksize Satzformat Satzlaenge Geraet Organisation Satztrenner Close Disposition Schluesselbeschreibung Name Exitroutine Name Exitroutine Integer Return Code CPU Zeit Satzzaehler Bytezaehler Bytezaehler Satzzaehler Bytezaehler Bytezaehler Ueberlauf Ueberlauf Ausgabedatei FLAM V4 3 UNIX 2014 by limes datentechnik gmbh Kapitel 7 Anwendungsbeispiele Dateinamen eingeben printf Dateiname input scanf s kname printf Dateiname output scanf s dname FLAM initialisieren opmode FLAM_C_OPEN_INPUT dekomprimieren statis FLAM_C_STATISTIC Statistik lstpar FLAM_C_MORE_PARAMETER lmopn amp flmid amp rc am
49. 0 mit in das Anwenderprogramm eingebunden sein Der Aufruf des Benutzerausgangs unterbleibt wenn der Name mit einer Leerstelle X 20 oder einer Bin rnull X 00 beginnt Falls der Benutzerausgang exitroutine_comp den Komprimatssatz modifiziert muss beim Dekomprimieren ein entsprechender Benutzerausgang exitroutine_decomp angegeben werden durch den die Anderung vor der Verarbeitung des Satzes durch FLAM r ckg ngig gemacht wird Dieses Argument enth lt den Namen eines Benutzerausgangs also eines ausf hrbaren Programms das beim Dekomprimieren bei jedem FLAMFILE Zugriff aufgerufen wird Dieses Programm muss als C Funktion mit dem Namen exd20 mit in das Anwenderprogramm eingebunden sein Der Aufruf des Benutzerausgangs unterbleibt wenn der Name mit einer Leerstelle X 20 oder einer Bin rnull X 00 beginnt Ein Benutzerausgang exitroutine_decomp muss angegeben werden falls beim Komprimieren S tze der FLAMFILE durch einen Benutzerausgang exitroutine_comp ver ndert worden sind und alle Anderungen m ssen in diesem Benutzerausgang r ckg ngig gemacht werden keine Returncodes Eine Beschreibung der Returncodes befindet sich in Anhang A Returncodes 4 224 224 224 224 224 224 22 FLAM V4 3 UNIX Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Kapitel 4 fImopn Syntax Argumente fImid returncode continue_param flam_open filiename FLAM V4 3 UNIX Frankenstein Limes Acc
50. 25 12 FLAM V4 3 UNIX Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Die Benutzerausg nge FLAM UNIX Benutzerhandbuch Kapitel 6 Die Benutzerausg nge Kapitel 6 FLAM V4 3 UNIX Frankenstein Limes Access Method Die Benutzerausg nge 6 Die Benutzerausg nge Ein Benutzerausgang ist ein Programm das vom Benutzer zur Verf gung gestellt und von FLAM aktiviert wird und mit diesem ber eine vereinbarte Schnittstelle kommuniziert FLAM unterst tzt zwei Arten von Benutzerausg ngen e Ausg nge die bei Zugriffen auf Dateien d h beim Offnen Schlie en Lesen oder Schreiben aktiviert werden kurz auch Zugriffsexits genannt e einen Ausgang f r eine automatische Schl sselverwaltung kurz Schl sselexit F r das Zusammenwirken mit FLAM m ssen die Zugriffs exits mit FLAM statisch gebunden werden s Abschnitt 6 1 2 Der Schl sselexit hingegen wird als Shared Object erzeugt und wird dynamisch d h zum Ausf hrungszeitpunkt von FLAM eingebunden N heres hierzu s Abschnitt 6 2 2 6 1 Benutzerausg nge f r Dateizugriffe Zugriffsexits Diese Benutzerausg nge sind Programme die von FLAM mit jedem Zugriff auf die assoziierte Datei aktiviert werden Beim Offnen der Datei und bei Lesezugriffen wird der Benutzerausgang sofort nach ffnen bzw nach der bertragung eines Satzes in den Lesepuffer aktiviert bevor die Verarbeitung durch FLAM beginnt Beim Schlie en und bei Sch
51. 27 7 28 7 29 A 3 vii 2014 by limes datentechnik gmbh Die Benutzerausg nge FLAM UNIX Benutzerhandbuch Kapitel 1 FLAM im berblick Die Benutzerausg nge 1 FLAM im berblick FLAM ist eine Realisierung der FLAM Algorithmen f r Rechner unter dem Betriebssystem UNIX Es dient zur Komprimierung und Dekomprimierung von Dateien in einem Format das den problemlosen Datenaustausch auch mit zahlreichen Rechnern anderer Hersteller erm glicht Dar ber hinaus bietet FLAM auch die M glichkeit Daten komprimiert oder unkomprimiert zu verschl sseln Wegen der heterogenen Kompatibilit t eignet FLAM sich auch insbesondere zur langfristigen Aufbewahrung von Daten da die Reproduzierbarkeit der Daten nicht mehr an den Lebenszyklus bestimmter Systeme gebunden ist Ferner k nnen mit Hilfe von FLAM Dateien in fast beliebiger Weise konvertiert d h in Dateien mit einer anderen Organisation einem anderen Satzformat oder einem anderen Zeichencode berf hrt werden Die Architektur dieser Software ist schichtenorientiert d h sie setzt sich aus mehreren hierarchisch geordneten Funktionsgruppen zusammen die klar gegeneinander abgegrenzt sind und ber definierte Schnittstellen miteinander kommunizieren Durch Offenlegung dieser Schnittstellen ist es dem Benutzer berlassen selbst zu entscheiden wie weit er FLAM in seine Anwendungen integriert FLAM kann sowohl per Kommando als auch ber die entsprechenden Schnitt
52. A AA 4 Frankenstein Limes Access Method Anhang A Symbolischer Name Bedeutung FLAM_FLAMFILE_FORMAT_ERROR Bedeutung FLAMFILE Formatfehler FLAM_FLAMFILE_RECORD_SIZE Bedeutung Komprimats Satzl nge ung ltig FLAM_FILE _LENGTH Bedeutung FLAMFILE unvollst ndig bzw besch digt FLAM_CHECKSUM Bedeutung Checksummenfehler FLAM_RECORD_GR_32KB Bedeutung Originalsatz ist gr sser als 32764 Byte FLAM_RECORD_GR_BUFFER Bedeutung Originalsatz ist gr sser als Matrix 4 FLAM_FLAM VERSION 1 Bedeutung FLAM Komprimat Version 1 FLAM ILLEGAL _FLAM OPEN Bedeutung Unzul ssiger Open Modus FLAM_ILLEGAL_COMPRESSION_MODE Bedeutung Unzul ssiges Kompressionsverfahren FLAM ILLEGAL RECORD_SIZE Bedeutung Unzul ssige Satzl nge FLAM_ILLEGAL_CHARACTER_SET Bedeutung Unzul ssiger Zeichencode A 4 FLAM V4 3 UNIX 2014 by limes datentechnik gmbh Anhang A Returncode 29 30 31 32 34 35 39 43 46 47 53 FLAM V4 3 UNIX Frankenstein Limes Access Method Returncodes Symbolischer Name Bedeutung FLAM_ERR_PW Bedeutung Kennwort fehlt oder falsch angegeben FLAM_FILE_EMPTY Bedeutung Eingabedatei ist leer FLAM FILE NOT FOUND Bedeutung Eingabedatei ist nicht vorhanden ELAM OPEN MODE Bedeutung Ung ltiger Open Modus FLAM_RECORD_FORMAT Bedeutung Ung ltiges Satzformat FLAM RECORD SIZE Bedeutung Ung ltige Satzl nge FLAM_NO_VALID_FILENAME
53. Benutzerausgang Bei Aufrufen zur Entschl sselung von FLAM gesetzt 6 146 146 146 146 146 146 14 FLAM V4 3 UNIX Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Kapitel 6 data ckylen cryptokey msglen message Returncodes FLAM V4 3 UNIX Frankenstein Limes Access Method Die Benutzerausg nge Falls datalen gt 0 liefert bei Aufrufen zur Verschl sselung Funktionscode 1 der Benutzerausgang hier die Daten die er bei Aufrufen zur Entschl sselung zum Auffinden des Schl ssels braucht FLAM speichert diese in einem anwenderspezifischen FLAM Fileheader und stellt sie bei Aufrufen zur Entschl sselung Funktionscode 0 dem Benutzerausgang hier zu Verf gung In diesem Argument setzt der Benutzerausgang bei erfolgreichen Aufrufen mit Funktionscodes 0 oder 1 die Byte nge des an FLAM im Argument cryptokey bergebenen Schl ssels Die maximale Schl ssell nge ist 64 Bytes Hier empf ngt FLAM bei Funktionscodes 0 oder 1 vom Benutzerausgang den Schl ssel f r die Ver bzw Entschl sselung in der L nge aus dem Argument ckylen In dieses Feld stellt der Benutzerausgang die Bytel nge der Nachricht im Argument message Maximale L nge ist 128 Bytes Hier stellt der Benutzerausgang eine Nachricht ein die von FLAM ggf im Protokoll ausgegeben wird Wert Bedeutung 0 kein Fehler sonst Fehler 6 15 2014 by limes datentechnik gmbh Die Benutzerausg nge Kapitel 6 6 2 2 Erzeugun
54. Beschreibung des Parameters option Siehe Beschreibung des Parameters outrecdelim Siehe Beschreibung des Parameters outrecformat Siehe Beschreibung des Parameters outrecsize Siehe Beschreibung des Parameters parfile Mit parfile none wird die Verwendung eines Defaultwertes f r diese Einstellung anulliert Siehe Beschreibung des Parameters recdelim Siehe Beschreibung des Parameters recformat Siehe Beschreibung des Parameters recsize 2 13 2014 by limes datentechnik gmbh Das Kommando flam show Anzeigeoption translate Codetabelle translate none Beschreibung 2 142 142 142 142 142 14 Frankenstein Limes Access Method Kapitel 2 Siehe Beschreibung des Parameters show Siehe Beschreibung des Parameters translate Mit translate none wird die Verwendung eines Defaultwertes f r diese Einstellung anulliert F r alle Parameter des flam Kommandos mit Ausnahme der Parameter defaults list kmexit ndc nopath outpath und password k nnen vom Systemmanager Standardeinstellungen Defaultwerte festgelegt werden Die Anderung von Defaultwerten kann nur mittels eines Kommandos erfolgen Die Definition von Defaultwerten geschieht durch Aufruf von FLAM mit dem Parameter defaults unter Angabe der Defaultspezifikation Diese besteht aus einem Schl sselwort und evtl einer Wertzuweisung Die Syntax f r die Defaultspezifikationen stimmt mit derjenigen der FLAM Parameter berein Zus tzlich gibt es die Parame
55. Bytes an ihre urspr ngliche Stelle zur ckgesetzt Beispiel fuer exitk20 und exitd20 Vertauschen von 2 Byte bei der Komprimierung Bei der Dekomprimierung werden mit dem gleichen Programm die vertauschten Bytes an ihre urspruengliche Stelle zurueckgesetzt Der Programmaufruf heisst dann exd20 statt exk20 exk20 functioncode returncode record_pointer record_length work long functioncode Funktionscode long returncode Returncode char record_pointer Satzpointer long record_length Satzlaenge char work Arbeitsbereich returncode 0 kein Fehler Satz uebernehmen if functioncode 0 functioncode 8 return if record_length gt 16 16 und 17 Byte vertauschen work record_pointer 15 record_pointer 15 record_pointer 16 record_pointer 16 work return 7 287 287 287 287 287 287 28 FLAM V4 3 UNIX Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Kapitel 7 Anwendungsbeispiele 7 8 4 exd20 Vertauschen von 2 Byte bei der Dekomprimierung Die bei der Komprimierung mit exk20 vertauschten Bytes werden wieder zur ckgetauscht siehe Abschnitt 7 8 3 Gleiches Programm wie exitk20 bei der Komprimierung Beispiel fuer exitd20 Vertauschen von 2 Byte bei der Dekomprimierung Gleiches Programm wie exitk20 bei der Komprimierung exd20 functioncode returncode record_pointer r
56. FRANKENSTEIN LIMES ACCESS METHOD f r UNIX BENUTZERHANDBUCH Ausgabe M rz 2014 Version 4 3 Copyright 1989 2014 by limes datentechnik gmbh M Louisenstra e 21 M D 61348 Bad Homburg v d H Telefon 06172 5919 0 m Telefax 06172 5919 39 http www flam de Benutzerhandbuch FLAM V4 3 UNIX Copyright by limes datentechnik gmbh Alle Rechte vorbehalten Weitergabe sowie Vervielf ltigung dieser Unterlage Verwertung und Mitteilung ihres Inhaltes sind nicht gestattet soweit dies nicht ausdr cklich und schriftlich zugestanden wurde Zuwiderhandlungen verpflichten zu Schadenersatz Lieferm glichkeiten und nderungen vorbehalten FLAM UNIX Benutzerhandbuch Inhaltsverzeichnis Kapitel 1 Kapitel 2 Inhalt 1 1 1 2 1 3 1 4 1 4 1 1 4 2 1 4 3 1 5 1 5 1 1 5 2 1 5 3 1 5 4 1 5 5 1 5 5 1 1 5 5 2 2 1 2 2 2 2 1 2 2 2 2 2 3 2 2 4 2 3 FLAM im berblick Arbeitsweise FLAM Modi Matrixpuffer und Satzanzahl Die FLAMFILE Aufbau der FLAMFILE Die FLAM Fileheader Secure FLAMFILEs Schnittstellen Das Kommando flam Das Unterprogramm flamup Die Satzschnittstelle flamrec Die benutzereigene Ein Ausgabe Die Benutzerausg nge Die Benutzerausg nge f r Dateizugriffe Der Benutzerausgang f r automatische Schl sselverwaltung Das Kommando flam Funktionen Kommando Syntax FLAM Komprimierung FLAM Dekomprimierung Anzeige von FLAM Defaultwerten Einstellung der FLAM Defaultw
57. LAM automatisch ein Kennwort zur Verf gung zu stellen Er wird ber den Parameter kmexit Exitangaben im flam Kommando oder im Argument parameter_string des Unterprogramms flamup aktiviert Der tats chliche anstelle von kmfunc eingesetzte Funktionsname kann frei gew hlt werden Bei R ckgabe der Kontrolle an FLAM bergibt er einen Returncode void kmfunc signed long functioncode signed long returncode const unsigned long parmlen const unsigned char Garam unsigned long datalen unsigned char data unsigned long ckylen unsigned char cryptokey unsigned long msglen unsigned char message In diesem Argument wird dem Benutzerausgang ein Funktionscode bergeben G ltige Werte sind 1 Aufruf zur Versionsidentifikation 0 Aufruf zur Entschl sselung 1 Aufruf zur Verschl sselung In diesem Argument gibt der Benutzerausgang einen Returncode an FLAM zur ck Siehe besondere Beschreibung der Returncodes und ihrer Bedeutungen Dieses Argument enth lt bei Aufrufen mit Funktionscodes 0 oder 1 die Bytel nge der Daten im Argument param Diese kann zwischen 0 und 256 liegen Falls parmlen gt 0 steht hier der exparm Teil der Exit angaben des Parameters kmexit s Beschreibung des Parameters kmexit im Abschnitt 2 3 Dieses Argument enth lt bei Aufrufen mit Funktionscodes O oder 1 die Bytel nge der Daten im Argument data Diese kann zwischen 0 und 512 liegen Bei Aufrufen zur Verschl sselung wird sie vom
58. Listspezifikation wird der aktuelle Standardwert angezeigt Fehlt diese Angabe wird eine Liste aller aktuellen Standardwerte ausgegeben mit Ausnahme der Codetabellen f r ASCII EBCDIC und EBCDIC ASCIlI bersetzung Ferner wird die FLAM Version und das Erzeugungsdatum des Programms angezeigt Bei fehlender Listspezifikation werden die nachstehendem Beispiel entsprechenden Informationen angezeigt wobei Betriebssystem Erzeugungsdatum und Standardwerte den aktuellen Gegebenheiten angepasst sind 2 24 FLAM V4 3 UNIX 2014 by limes datentechnik gmbh Kapitel 2 Das Kommando flam FLAM R 4 2 0 fuer Linux copyright c 2012 by limes datentechnik gmbh Build from Aug 2 2012 14 53 25 Ablaufdatum 31 12 2012 Lizensiert fuer limes_datentechnik_gmbh Standardeinstellungen SEELLDUE ES es ee are Senne all decompress euer ASCII flamfile Komprimatsdatei not specified recformat anne fix reesIze near 512 flamin Originaldatei not specified Inreeform t serdes sis stream inreedelim uer e x 0a flamout dekomprimierte Datei not specified outrecformat stream outrecdelim x 0a EE EEN 32768 maxr records oas in an ae E ere le 4095 message File wu an ger un dans not specified MOJE ae a ee een adc Verschluesselung ee o keine OPELON EE nocut nosuppress parameter Eiles tarani eg ergeet not specified SHOW als a a ee hi Dina all translate Konvertierungsd
59. MFILE benutzt werden bei der Dekomprimierung exd10 und exd20 f r Zugriffe auf die dekomprimierte Datei bzw die FLAMFILE Wurden S tze der FLAMFILE bei der Komprimierung durch den Benutzerausgang exk20 modifiziert so ist eine Dekomprimierung nur m glich wenn dies durch den komplement ren Benutzerausgang exd20 revidiert wird d h jeder FLAM Satz durch exd20 in den selben Zustand zur ckversetzt wird wie er von FLAM am Benutzerausgang exk20 bergeben wurde 1 5 5 2 Benutzerausgang f r automatische Schl sselverwaltung Automatische Schl sselverwaltung erleichtert dem Benutzer den Umgang mit verschl sselten Dateien indem sie ihm die Aufgabe abnimmt Schl ssel zu erzeugen auszutauschen und zu speichern in welcher Form auch immer Uber die Schnittstelle zum Benutzerausgang f r automatischen Schl sselverwaltung bergibt FLAM beim Verschl sseln ggf eine vom Benutzer spezifizierte Zeichenkette an die Schl sselverwaltung und erh lt zur ck das Kennwort das dann zum Verschl sseln benutzt wird Daneben kann die Schl sselverwaltung FLAM eine Bytefolge zur ckgeben die der verschl sselten Datei angeheftet wird und bei der Entschl sselung zur Auffindung des passenden Schl ssels der Schl sselverwaltung bergeben wird Die Aktivierung dieses Ausgangs ist ber das Kommando flam und die Unterprogrammschnittstelle m glich nicht jedoch ber die Satzschnittstelle Die ber diese Schnittstellen aufgerufenen Programme m ssen
60. Method Das Kommando flam Dieser Parameter gibt ein Verzeichnis vor in dem die dekomprimierten Dateien erzeugt werden sollen outpath Ausgabeverzeichnis Ausgabeverzeichnis Spezifikation eines Verzeichnispfads in den die dekomprimierte n Datei en geschrieben werden soll en Dies kann ein absoluter oder ein relativer Pfad sein Wird mit dem Parameter flamout ein Dateiname oder eine Liste angegeben k nnen diese Angaben auch einen Verzeichnispfad mit vorgeben Bei flamout ist eine solche Vorgabe nicht m glich In diesem Fall ist mit Hilfe des Parameters outpath eine solche Vorgabe m glich F r outpath kann kein Standardwert eingestellt werden 2 33 2014 by limes datentechnik gmbh Das Kommando flam outrecdelim Syntax Werte Beschreibung 2 342 342 342 342 342 34 Frankenstein Limes Access Method Kapitel 2 Dieser Parameter gibt ein Satztrennzeichen f r dekomprimierte Dateien an outrecdelim Satztrennzeichen Satztrennzeichen Hexadezimale Zeichen zwischen 01 und ff die L nge kann 1 oder 2 Byte sein Mit diesem Parameter wird das Satztrennzeichen der dekomprimierten Datei mit Satzformat stream angegeben Bei Satzformat stream ohne Angabe des Satztrennzeichens wird O0x0a als Satztrennzeichen geschrieben Mit der Angabe outrecdelim 0d0a kann die dekomprimierte Datei in MS DOS Format erstellt werden Daneben ist jede andere Zeichenkombination als Satz trennzeichen erlaubt
61. QR x x STUVWXYZ kk 0123456789 k k Mit ihr k nnen EBCDIC Daten bersetzt werden die alphanumerische Zeichen oder nachstehende Sonderzeichen enthalten Jeder andere EBCDIC Code wird in das ASCII Zeichen bersetzt 2014 by limes datentechnik gmbh Codetabellen B 4B 4B 4B 4B 4C 4 Frankenstein Limes Access Method Anhang B Die Position jedes Zeichens in der bersetzungstabelle ergibt sich durch Addition von 1 zum Zahlenwert seines EBCDIC Codes So hat etwa die Ziffer 9 den EBCDIC Code hexadezimal F9 dezimal 249 und steht an Stelle 250 Sollte beispielsweise die Tabelle um den Umlaut erweitert werden m sste dessen EBCDIC Code bestimmt werden Ist dieser Code hexadezimal DO dezimal 208 so w re auf Position 209 unmittelbar vor dem A der ASCII Code f r durch den ASCII Code f r zu ersetzen Umgekehrt m sste in einer Ubersetzungstabelle von ASCII nach EBCDIC f r die Ziffer 9 ASCII Code hexadezimal 39 dezimal 57 an 58 Stelle der EBCDIC Code F9 hexadezimal stehen B 2 Erstellung von Codetabellen Beim Erstellen von Codetabellen k nnen Zeichencodes die nicht druckbaren ASCIlI Zeichen entsprechen im allgemeinen nicht ber die Tastatur eingegeben werden Es empfiehlt sich folgendes Program mit modifizierter Codetabelle zu verwenden siehe Beispiel in usr lib flame samplest cr_code c B 4 FLAM V4 3 UNIX 2014 by limes datentechnik gmbh Anhang B Codeta
62. aehler Bytezaehler Bytezaehler Eingabedatei Laenge Anwenderinformation Datei enthaelt Daten zur Anwendung xyz Dateinamen eingeben Open Originaldatei 7 11 2014 by limes datentechnik gmbh Anwendungsbeispiele Kapitel 7 open FLAM opmode FLAM_C_OPEN_OUTPUT komprimieren statis FLAM_C_STATISTIC Statistik lstpar FLAM_C_MORE_PARAMETER lmopn amp flmid amp rc amp lstpar amp opmode kname amp statis if rc FLAM NORMAL closinput rc infile Angaben zur Komprimatsdatei orgak FLAM_C_ORG_SEO recfk FLAM_C_RECFRM_FIX recsk 512 blksk 0 eldispk FLAM_C_CLOSE_REWIND devk FLAM_C_DEVICE_DISK keydesck keyparts 0 il 100 flmopd amp flmid amp rc amp lstpar amp il kname amp orgak amp recfk amp recsk recdelk c amp keydesck amp blksk amp cldispk amp devk if rc FLAM_NORMAL closinput rc infile Angaben zur Komprimierung il FLAM_C_VERSION Version 2 lcode FLAM C CHAR ASCII Code der Komprimatsdatei modus FLAM_C_MODUS_CX8 Modus EIGHT_BIT maxb 32768 Puffergroesse sanz 255 Anzahl Saetze pro Block header FLAM_C_FILEHEADER File Header blkmode FLAM_C_BLOCKMODE Blockung FLAMFILE keydesco keyparts 0 exk20 0 keine Exitroutine exd20 0 flmopf amp flmid amp rc amp il amp flcode amp modus amp maxb a
63. amm zur ckgegeben In diesem Argument wird die aktuelle Zeit in Einheiten von Sekunden zur ckgegeben Falls mit flmopn die Statistik eingeschaltet wurde statistics 0 wird in diesem Argument die Anzahl der mit fImput bergebenen bzw mit fImget bernommenen dekomprimierten S tze zur ckgegeben Die in diesem Z hler kumulierten Werte sind nur bei Verarbeitung vollst ndiger Dateien signifikant Falls mit flmopn die Statistik eingeschaltet wurde statistics 0 wird in diesem Argument die Anzahl der Bytes in den mit flmput bergebenen bzw mit fImget bernommenen dekomprimierten S tze zur ckgegeben Die in diesem Z hler kumulierten Werte sind nur bei Verarbeitung vollst ndiger Dateien signifikant FLAM V4 3 UNIX 2014 by limes datentechnik gmbh Kapitel 4 byteofl cmprecs cmpbytes cmpbytofl Abh ngigkeiten Returncodes FLAM V4 3 UNIX Frankenstein Limes Access Method Die Satzschnittstelle bersteigt der im Argument bytes kumulierte Wert 2 000 000 000 so wird dieser Z hler f r die Vielfachen von 2 000 000 000 benutzt Falls mit flmopn die Statistik eingeschaltet wurde statistics 0 wird in diesem Argument die Anzahl bei der Komprimierung erzeugter bzw bei der Dekomprimierung gelesener Komprimatss tze zur ckgegeben Dieser Wert ist nur bei der Verarbeitung vollst ndiger Dateien signifikant Falls mit flmopn die Statistik eingeschaltet wurde statistics 0 wird in diesem Arg
64. arbeiten Die dekomprimierten S tze werden nicht in die dekomprimierte Datei geschrieben sondern von FLAM an exd10 zur Verarbeitung bergeben exd10 verarbeitet die S tze hier Anzeige am Bildschirm und gibt sie nicht zum Schreiben zur ck returncode 4 Mit exitd10 Saetze einer komprimierten Datei verarbeiten Die dekomprimierten Saetze werden nicht in die dekomprimierte Datei geschrieben include lt stdio h gt exd10 functioncode returncode record_pointer record_length work long functioncode Funktionscode long returncode Returncode char record_pointer Satzpointer long record_length Satzlaenge char work Arbeitsbereich returncode 0 if functioncode 0 functioncode 8 return Verarbeitung Anzeigen des Dateisatzes record_pointer record_length 0x00 work printf s n record_pointer returncode 4 kein Fehler Satz nicht uebernehmen return FLAM V4 3 UNIX 7 27 Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Anwendungsbeispiele Kapitel 7 7 8 3 exk20 Vertauschen von 2 Byte bei der Komprimierung Um die komprimierte Datei zus tzlich zu sch tzen werden in jedem Satz 2 Byte vertauscht W rden die Daten dekomprimiert ohne die Bytes wieder zur ckzutauschen w rde dabei ein Fehler auftreten Bei der Dekomprimierung werden mit dem gleichen Programm die vertauschten
65. as Kommando flam Mit diesem Parameter wird die Satzl nge der FLAMFILE angegeben recsize n n Ganze Zahl zwischen 80 und 4095 bei Modus cx7 Ganze Zahl zwischen 80 und 32760 sonst Dieser Parameter gibt die Satzl nge der FLAMFILE an Unabh ngig vom Satzformat werden die komprimierten Daten als S tze mit gleicher L nge geschrieben Eine Beziehung zwischen Komprimatsbl cken und S tzen in der komprimierten Datei besteht nicht Ein Satz kann Daten aus einem oder mehreren Komprimatsbl cken enthalten Ein Komprimatsblock kann in einem oder mehreren S tzen stehen Es besteht keine Beziehung zwischen den S tzen der komprimierten und unkomprimierten Dateien Dieser Parameter ist nur bei der Komprimierung erforderlich 2 43 2014 by limes datentechnik gmbh Das Kommando flam show Syntax Werte Anzeigeoption none all 2 442 442 442 442 442 44 Frankenstein Limes Access Method Kapitel 2 Dieser Parameter gibt an welche Informationen von FLAM angezeigt werden sollen show Anzeigeoption Bedeutung keine Anzeige Zeigt alle verf gbaren Informationen an Diese h ngen von der aufgerufenen Operation ab Komprimierung oder Dekomprimierung nicht aber davon ob FLAM direkt oder mit Parameterdatei aufgerufen wurde Anzeige bei der Komprimierung FLAM Version FLAM Einstellungen Operation Komprimierung Zeichencode ggf Codetabelle Komprimierungsmodus ggf Verschl sselungsverfahren Matrixpufferg
66. atei not specified Mit der Listspezifikation ascii_ebcedic und ebcdic_ascii k nnen die entsprechenden Codetabellen angezeigt werden Die Anzeige der Codetabellen erfolgt im selben Format wie es f r die Einstellung der entsprechenden Standardwerte beschrieben ist siehe Beschreibung des Parameters defaults FLAM V4 3 UNIX 2 25 Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Das Kommando flam Kapitel 2 maxbuffer Dieser Parameter gibt die Gr e des Matrixpuffers an Syntax maxbuffer n Werte n Ganze Zahl zwischen 1 und 2 621 440 Werte n mit 0O lt n lt 2 560 werden als Anzahl KBytes 1 KByte 1 024 Bytes interpretiert gr ere Werte als Anzahl Bytes FLAM w hlt eine der Puffergr en aus der folgenden Tabelle in Kbytes 2 Jade 12 1 1e s as sl al o 12 1281 144 Ist der angegebene Wert nicht in der Tabelle so wird soweit vorhanden die n chst h here Puffergr e aus der Tabelle genommen ansonsten immer das Maximum 2 560 Beschreibung Beim Komprimieren mit den Modi cx7 cx8 und vr8 reserviert FLAM den Matrixpuffer f r die Zwischenspeicherung der S tze aus der Originaldatei Beachten Sie dass ein Matrixpuffer derselben Gr e auch bei der Dekomprimierung verf gbar sein muss auch wenn diese auf anderen Systemen erfolgt Bei Modus adc ist dieser Parameter unwirksam 2 262 262 262 262 262 26 2 26 FLAM V4 3 UNIX Frankenstein Limes Access Method 2014 by limes
67. bei Eingabe eines Kennworts wie mit mode flamenc verschl sselt 2 28 FLAM V4 3 UNIX 2014 by limes datentechnik gmbh Kapitel 2 msgfile Syntax Werte Beschreibung FLAM V4 3 UNIX Frankenstein Limes Access Method Das Kommando flam Mit diesem Parameter kann die Ausgabe von FLAM Meldungen in eine Datei umgeleitet werden msgfile Meldungsdatei Meldungsdatei Spezifikation einer Datei in die die FLAM Meldungen auszugeben sind FLAM Meldungen werden auf stderr ausgegeben dies ist im Dialogbetrieb in der Regel der Benutzerbildschirm Mit msgfile Meldungsdatei kann eine Ausgabe in eine Datei veranlasst werden die als Permanentkopie zur Dokumentation der Komprimierung dienen kann Dies ist beispielsweise bei der Stapelverarbeitung von Bedeutung Die Protokollierung in der Meldungsdatei beginnt jedoch erst nach Pr fung der Syntax und der Vertr glichkeit der im Aufruf benutzten FLAM Einstellungen Fehlermeldungen aufgrund von Syntaxfehlern fehlenden Dateien oder fehlerhaften Einstellungen werden nicht protokolliert In solchen F llen bricht FLAM die Verarbeitung ab ohne eine Meldungsdatei anzulegen 2 29 2014 by limes datentechnik gmbh Das Kommando flam ndc Syntax Werte Beschreibung 2 302 302 302 302 302 30 Frankenstein Limes Access Method Kapitel 2 Mit diesem Parameter kann die Komprimierung im adc Modus unterdr ckt werden ndc keine Bei Daten deren geringe K
68. bellen Beispiel B 2 bersetzungstabelle ASCII EBCDIC Beispiel bersetzungstabelle ASCII EBCDIC include lt stdio h gt include lt sys types h gt include lt sys stat h gt include lt errno h gt include lt fcntl h gt extern int errno extern int sys_nerr main int status unsigned long fk static char filename 20 code_ae dat static char ebcdic 256 0x00 0x01 0x02 0x03 0x37 0x2d Ox2e 0x2f 0x16 0x05 0x25 0x0b 0x0c 0x0d Ox0e OxOf 0x10 0x11 0x12 0x13 0x3c 0x3d 0x32 0x26 0x18 0x19 0x3f 0x27 Oxlc Old Oxle Oxlf 0x40 Ox5a 0x7f 0x7b 0x5b 0x6c 0x50 0x7d 0x4d 0x5d 0x5c 0x4e 0x6b 0x60 0x4b 0x61 0Oxf0 Oxfl Oxf2 Oxf3 Oxf4 Oxf5 Oste Oxf7 Oxf8 Oxf9 0x7a Ox5e Ox4c 0x7e Ox6e Ox6Ff 0x7c Oxcl1 0xc2 Oxc3 Oxc4 Oxc5 0xc6 0xc7 0xc8 0xc9 Oxdl Oxd2 Oxd3 Oxd4 Oxd5 Oxd6 0xd7 0xd8 0xd9 Oxe2 Oxe3 Oxe4 Oxe5 Oxe6 0xe7 Oxe8 Oxe9 Oxbb Oxbc Oxbd Ox6a Ox6d Ox4a 0x81 0x82 0x83 0x84 0x85 0x86 0x87 0x88 0x89 0x91 0x92 0x93 0x94 0x95 0x96 0x97 0x98 0x99 Oxa2 Oxa3 Oxa4 Oxa5 0xa6 0xa7 Oxa8 0xa9 Oxfb 0x4f Oxfd Oxff 0x07 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
69. by limes datentechnik gmbh FLAM im berblick 1 81 81 81 81 81 81 8 Frankenstein Limes Access Method Kapitel 1 Die Erzeugung des allgemeinen FLAM Fileheaders wird von allen Schnittstellen Kommando Unterprogramm und Satzschnittstelle durch entsprechende Parameter und Argumente unterst tzt Der anwenderspezifische FLAM Fileheader kann ausschlie lich bei Benutzung der Satzschnittstelle erzeugt werden Diese Schnittstelle bietet folgende Funktionen f r die Erzeugung und Auswertung der verschiedenen Fileheadertypen FLAM Fileheadertyp Erzeugung Auswertung Allgemein fImphd fImghd Anwenderspezifisch flmpuh fImguh Die Einf gung von FLAM Fileheadern in die FLAMFILE ist nicht zwingend erforderlich Werden sie eingef gt ist bei den Funktionen der Satzschnittstelle auf die Einhaltung der vorgeschriebenen Reihenfolge zu achten Siehe N heres im Abschnitt 1 5 3 FLAM Fileheader stehen in der FLAMFILE stets unmittelbar vor dem Komprimat der zugeh rigen Datei Enth lt eine FLAMFILE Komprimate mehrerer Dateien so k nnen vor jedem Komprimat entsprechende FLAM Fileheader eingef gt werden Beim Dekomprimieren k nnen so Komprimate verschiedener Dateien unterschieden und in getrennte Dateien dekomprimiert werden 1 4 3 Secure FLAMFILEs Generell ist jeder Satz einer FLAMFILE zum Schutz gegen Manipulationen oder bertragungsfehler mit einer Pr fsumme weitgehend abgesichert Im Einklang mit den h
70. cht mehr benutzt werden kann Mit flamin none wird die Verwendung eines Defaultwertes f r diese Einstellung anulliert 2 12 FLAM V4 3 UNIX 2014 by limes datentechnik gmbh Kapitel 2 Das Kommando flam flamout Ausgabespezifikation flamout none inrecdelim inrecformat inrecsize maxbuffer maxrecords mode FLAM Modus msgfile Messagefile msgfile none option FLAM Option outrecdelim outrecformat outrecsize parfile Parameterdatei parfile none recdelim recformat recsize FLAM V4 3 UNIX Frankenstein Limes Access Method Legt den Standard Dateinamen f r die Ausgabedatei bei der Dekomprimierung fest Ausgabespezifikation ist eine Dateispezifikation Sie muss eine einzelne Datei eindeutig benennen und darf keine Wildcards enthalten oder eine Substitutionsvorschrift sein Es ist zu beachten dass bei der Definition eines Stanard Dateinamens f r die Ausgabedatei stdout nicht mehr benutzt werden kann Mit flamout none wird die Verwendung eines Defaultwertes f r diese Einstellung anulliert Siehe Beschreibung des Parameters inrecdelim Siehe Beschreibung des Parameters inrecformat Siehe Beschreibung des Parameters inrecsize Siehe Beschreibung des Parameters maxbuffer Siehe Beschreibung des Parameters maxrecords Siehe Beschreibung des Parameters mode Siehe Beschreibung des Parameters msgfile Mit msgfilesnone wird die Verwendung Defaultwertes f r diese Einstellung anulliert eines Siehe
71. closfiles rc outfile flmid unsigned long rc FILE outfile char flmid long il dekomprimierte Datei schliessen il close outfile closflam rc flmid FLAM beenden Programm beenden closflam rc flmid unsigned long rc char flmid long il unsigned long cputime CPU Zeit unsigned long zks Satzzaehler unsigned long zkb Bytezaehler unsigned long zkbofl Bytezaehler Ueberlauf unsigned long zunks Satzzaehler unsigned long zunkb Bytezaehler unsigned long zunkbofl Bytezaehler Ueberlauf FLAM beenden flmcls flmid amp il amp cputime amp zunks amp zunkb amp zunkbofl amp zks amp zkb amp zkbofl Statistik ausgeben if il FLAM_NORMAL printf nAnzahl unkomprmierte Saetze d n zunks printf Anzahl unkomprmierte Bytes d n zunkb printf nAnzahl unkomprmierte Saetze d n zks printf Anzahl unkomprmierte Bytes d n zkb if rc PLAN NORMAL rc il Return umsetzen put_flmsg rc exit rc FLAM V4 3 UNIX 7 19 Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Anwendungsbeispiele Kapitel 7 7 7 Benutzereigene Ein Ausgabe In den folgenden Beispielen werden die Schnittstellen f r die Ein und Ausgabemodule der Anwender beschrieben Angegeben sind zu jedem Modul die Aufrufe mit den erforderlichen Parametern und den m glichen Werten
72. code zu melden Wird das Dateiende erreicht ist das ebenfalls im Returncode zur ckzumelden F r jeden gelesenen Satz ist die Satzl nge zur ckzugeben auch bei fixem Satzformat Mit usrels wird das Schlie en der Datei veranlasst Der Arbeitsbereich f r diese Datei wird von FLAM nach R ckgabe der Kontrolle wieder freigegeben urspos ist bei UNIX eine leere Funktion 1 15 2014 by limes datentechnik gmbh FLAM im berblick Kapitel 1 1 5 5 Die Benutzerausg nge Ein Benutzerausgang ist ein Programm das vom Benutzer zur Verf gung gestellt wird und von FLAM an bestimmten Punkten des Programmablaufs ber eine hierf r definierte Schnittstelle aufgerufen wird FLAM unterst tzt zwei Kategorien von Benutzerausg ngen Benutzerausg nge f r Dateizugriffe und einen Benutzerausgang f r automatische Schl sselverwaltung 1 5 5 1 _Benutzerausg nge f r Dateizugriffe Diese Benutzerausg nge gestatten dem Anwender die von FLAM ausgegebenen S tze sowohl der FLAMFILE als auch der dekomprimierten Datei vor ihrer endg ltigen Speicherung in beliebiger Weise nachzubearbeiten d h sie zu ver ndern sie zu l schen oder zus tzliche S tze einzuf gen Auch die von FLAM gelesenen S tze k nnen in analoger Weise f r die Verarbeitung durch FLAM vorbereitet werden Unter Zugriff ist in diesem Zusammenhang ein Ein Ausgabebefehl oder ein entsprechender Aufruf der benutzereigenen Ein Ausgabe zu verstehen und nicht etwa d
73. darin dass bei den Funktionen der Satzschnittstelle das Anwenderprogramm der aufrufende FLAM der ausf hrende Teil ist Benutzer Ein Ausgabe hingegen sind selbst die ausf hrenden Routinen und werden von FLAM aufgerufen Diese haben also keinen Einfluss auf die Reihenfolge in der sie aktiviert werden und m ssen bei jedem Aufruf situationsgerecht reagieren Sofern sie hierf r Arbeitsspeicher ben tigen wird f r jeden usropn Aufruf der Datei ein Bereich von 1 KByte zugeordnet und mit jedem Folgeaufruf f r diese Datei unver ndert bergeben Da FLAM konzeptionell immer Daten aus einer Datei liest und in eine Datei schreibt sind Benutzer Ein Ausgabe Routinen aus der Sicht von FLAM einfach alternative Dateizugriffe unabh ngig davon welche realen Aktionen von ihnen ausgef hrt werden Benutzer Ein Ausgabe Schnittstelle Kapitel 5 5 45 45 45 45 45 4 Frankenstein Limes Access Method Benutzer Ein Ausgabe Routinen m ssen daher folgende Funktionen enthalten e usrels e usrget e usropn e USrPOS e usrput Diese Funktionen m ssen den Schnittstellenkonventionen gen gen d h die Funktionen m ssen mit dem vorgegebenen Namen definiert sein die Argumente in Typ und L nge bereinstimmen und die Returncodes den Erfolg oder die Fehlersituation korrekt widerspiegeln Hinweise f r das Einbinden von Benutzer Ein Ausgabe Routinen finden sich am Ende dieses Abschnitts 5 4 FLAM V4 3 UNIX 2014 by limes datentechnik
74. datrec 2048 infile if ptr NULL if errno 0 il FLAM_EOF else rc errno FLAM_IO closfiles rc infile amp flmid FLAM beenden flmcls amp flmid amp rc amp cputime amp zunks amp zunkb amp zunkbofl amp zks amp zkb amp zkbofl Statistik ausgeben printf nAnzahl unkomprmierte Saetze d n zunks printf Anzahl unkomprmierte Bytes d n zunkb printf nAnzahl unkomprmierte Saetze d n zks printf Anzahl unkomprmierte Bytes d n zkb if rc FLAM_NORMAL closinput rc infile Originaldatei schliessen rc fclose infile exit rc FLAM V4 3 UNIX 7 13 Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Anwendungsbeispiele Kapitel 7 Dateien schliessen Programm beenden closfiles rc infile flmid unsigned long rc FILE infile char flmid long il unsigned long cputime CPU Zeit unsigned long zks Satzzaehler unsigned long zkb Bytezaehler unsigned long zkbofl Bytezaehler Ueberlauf unsigned long zunks Satzzaehler unsigned long zunkb Bytezaehler unsigned long zunkbofl Bytezaehler Ueberlauf FLAM beenden flmcls flmid amp il amp cputime amp zunks amp zunkb amp zunkbofl amp zks amp zkb amp zkbofl Statistik ausgeben if il FLAM_NORMAL printf nAnzahl unkomprmierte Saetze d n zunks printf Anzahl
75. den In diesem Argument wird ein Returncode an das aufrufende Programm zur ckgegeben Dieses Argument muss immer den Wert 2 enthalten flam_code In diesem Argument wird beim Komprimieren angegeben in welchem Zeichencode zeichencodierte Informationen der FLAMFILE zu erzeugen sind Bei der Dekomprimierung wird diese Information zur ckgegeben 0 EBCDIC 1 ASCII Impliziter Wert bei der Komprimierung 1 4 204 204 204 204 204 204 20 FLAM V4 3 UNIX Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Kapitel 4 Die Satzschnittstelle comp_mode max_buffer filieheader FLAM V4 3 UNIX In diesem Argument wird beim Komprimieren angegeben welches Kompressions bzw Verschl sselungsverfahren zu verwenden ist Bei der Dekomprimierung wird diese Information zur ckgegeben Folgende hexadezimale dezimale Werte sind m glich Kompressi Verschl sselungsverfahren ons verfahren FLAMenc we nicht nicht zul ssig zul ssig nicht nicht zul ssig zul ssig 0 1 o nicht nicht 2 zul ssig zul ssig Impliziter Wert bei der Komprimierung 0 In diesem Argument wird beim Komprimieren die zu benutzende Puffergr e vorgegeben Bei der Dekomprimierung wird diese Information als Anzahl Bytes zur ckgegeben Die Puffergr e wird in Bytes oder KBytes vorgegeben G ltig sind alle Werte zwischen 1 und 2 621 440 Details ber die Interpretation dieser Angabe und die tats chlich benutzte
76. dings lediglich eine Obergrenze dar Sie kann unterschritten werden wenn der Platz im Matrixpuffer ersch pft ist oder wenn das Ende der Originaldatei erreicht ist Welche Gr e des Matrixpuffers ben tigt wird h ngt ab von der Anzahl der S tze die gepuffert werden sollen und deren L ngen Bei Dateien mit S tzen fixer L nge errechnet sich der Platzbedarf einfach als Produkt von Satzanzahl und l nge Bei Dateien mit variablen Satzl ngen ist eine exakte Voraussage des Speicherbedarfs i a nicht m glich Daher kann nur ein N herungswert gew hlt werden Es muss jedoch zumindest gew hrleistet sein dass der Matrixpuffer ausreicht um jeden Satz der Datei einzeln zu fassen 1 4 Die FLAMFILE 1 4 1 Aufbau der FLAMFILE Um die universelle Austauschbarkeit zu gew hrleisten muss die FLAMFILE in einem Format aufgebaut sein das auf allen Betriebssystemen darstellbar ist Dieser kleinste gemeinsame Nenner ist die sequentielle Datei mit S tzen fixer L nge Zwar sind f r die FLAMFILE neben Satzformat fix auch weitere Satzformate zul ssig doch wird das bei der Komprimierung erzeugte Komprimat in abstrakte S tze die sog FLAM S tze gleicher L nge zerlegt und diese auf konkrete Strukturen des jeweiligen Betriebssystems abgebildet Jeder FLAM Satz enth lt neben den Komprimatsdaten am Anfang ein FLAM Satzl ngenfeld und am Ende eine Pr fsumme oder ein Pr fzeichen Das FLAM Satzl ngenfeld und die Pr fsumme bzw das Pr f
77. dresse des einzuf genden Satzes und seine L nge m ssen in den Argumenten record_pointer und record_length zur ckgegeben werden Der Benutzerausgang wird erneut f r den urspr nglichen Satz aufgerufen Bei der Dekomprimierung m ssen so eingef ge S tze durch einen komplement ren Benutzerausgang wieder entfernt werden Ende der Komprimierung einleiten Fehler im Benutzerausgang abnormales Ende FLAM V4 3 UNIX 2014 by limes datentechnik gmbh Kapitel 6 FLAM V4 3 UNIX Frankenstein Limes Access Method Die Benutzerausg nge 6 1 2 Einbinden der Zugriffsexits in Anwenderprogramme Der Aufruf von Benutzerausg ngen f r Dateizugriffe wird in FLAM sowohl von der Unterprogramm als auch der Satzschnittstelle unterst tzt wobei dies bei letzterer lediglich in Bezug auf FLAMFILE Zugriffe gilt Um mit FLAM ber Benutzerausg nge Datens tze bearbeiten zu k nnen m ssen die eingebundenen zugeh rigen Objektdateien alle oben genannten Zugriffsfunktionen enthalten nicht ben tigte Funktionen k nnen leer sein Die Benutzerausg nge f r Dateizugriffe werden mit FLAM statisch gebunden gem der in Abschnitt 3 3 Binden von flamup beschriebenen Vorgehensweise bzw wie in in Abschnitt 4 5 Einbinden von Funktionen der Satzschnittstelle in Anwenderprogramme beschrieben 6 2 Der Benutzerausgang f r automatische Schl sselverwaltung Schl sselexit Der Benutzerausgang f r automatische Schl sselverwaltung
78. dungsbeispiele Kapitel 7 dekomprimierte Datei oeffnen outfile fopen dname w if outfile NULL exit 1 Datei dekomprimieren und schreiben buflength 2048 flmget amp flmid amp rc amp reclength datrec amp buflength if rc FLAM_NORMAL if rc FLAM_EOF rc FLAM_NORMAL closfiles rc outfile amp flmid il FLAM_NORMAL while il FLAM NORMAL datrec reclength 0x0a datrec reclength 0x00 ir fputs datrec outfile if ir reclength rc FLAM_WRITE_ERR closfiles rc outfile amp flmid dekomprimierten Satz lesen flmget amp flmid amp rc amp reclength datrec amp buflength if rc FLAM_NORMAL if rc FLAM_EOF il rc else closfiles rc outfile amp flmid dekomprimierte Datei schliessen rc close outfile FLAM beenden flmcls amp flmid amp rc amp cputime amp zunks amp zunkb amp zunkbofl amp zks amp zkb amp zkbofl Statistik ausgeben printf nAnzahl unkomprmierte Saetze d n zunks printf Anzahl unkomprmierte Bytes d n zunkb printf nAnzahl komprmierte Saetze d n zks printf Anzahl komprmierte Bytes d n zkb put_flmsg rc exit rc 7 187 187 187 187 187 187 18 FLAM V4 3 UNIX Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Kapitel 7 Anwendungsbeispiele dekomprimierte Datei schliessen FLAM beenden
79. e Benutzerausg nge FLAM UNIX Benutzerhandbuch Kapitel 3 Der Unterprogramm Aufruf flamup Die Benutzerausg nge 3 Der Unterprogramm Aufruf flamup 3 1 Aufruf Sequenz f r flamup Die Anwendungsprogramme rufen das Unterprogramm flamup zur Komprimierung oder Dekomprimierung von einer oder mehreren Dateien entsprechend den bergebenen Argumenten auf Dieser Abschnitt beschreibt den Datentyp und die Seman tik der Argumente In konkreten Anwendungen ist der Aufruf in die Syntax der jeweiligen Programmiersprache umzusetzen In C folgen die Argumente dem Namen flamup in runden Klammern eingeschlossen und durch Kommata getrennt Der Unterprogramm Aufruf flamup Kapitel 3 flamup Syntax Argumente flamid returncode parameter_string string_length Returncodes 3 43 4 3 43 43 43 43 4 Frankenstein Limes Access Method Die Schnittstelle flamup stellt den Funktionsumfang des Shell Kommandos FLAM Anwenderprogrammen zur Verf gung Zus tzlich werden Schnittstellen f r Benutzer Ein Ausgabe und Ausg nge unters tzt void flamup char flamid unsigned long returncode char parameter_string long string_length Spezifiziert einen long integer 4 Bytes der von FLAM w hrend der Ausf hrung intern f r die Datei Identifikation benutzt wird Spezifiziert einen long integer 4 Bytes der von flamup zur R ckgabe eines Returncodes an das aufrufende Programm benutzt wird Spezifiziert eine Ze
80. e Komprimatsdatei sequentiell gelesen und eine oder mehrere dekomprimierte Dateien erzeugt Der Komprimierungsprozess besteht aus sich wiederholenden Zyklen Bei jedem Zyklus wird in der Regel eine bestimmte Anzahl von S tzen der Originaldatei gelesen in einem Zwischenpuffer dem Matrixpuffer zwischengespeichert komprimiert und in komprimierter Form als ein Komprimatsblock ausgegeben Diese Anzahl kann je nach verwendetem Verfahren zwischen 1 und 255 bzw 4095 liegen und wird beim Komprimierungsaufruf vorgegeben Bei Erreichen des Dateiendes oder bei berlauf des Matrixpuffers wird ein Komprimatsblock mit entsprechend weniger S tzen erzeugt Die von FLAM erzeugten Komprimatsbl cke werden in eine sequentielle FLAMFILE geschrieben Durch das satzweise Lesen der Originaldatei bleibt die Strukturinformation der Datei erhalten und gestattet beim Dekomprimieren insbesondere in Rechnerumgebungen mit Datenverwaltungssystemen eine strukturgetreue Reproduktion der Originaldatei Jeder Satz der FLAMFILE wird je nach Komprimierungsmodus mit einer bin ren Pr fsumme bzw einem Pr fzeichen versehen die bei der Dekomprimierung zur Verifikation der Datenintegrit t berpr ft wird Die FLAMFILE kann gespeichert oder mit anderen Rechnern ausgetauscht werden Bei der Dekomprimierung kann die dekomprimierte Datei eventuell abweichend von der Originaldatei entsprechend den Vorgaben des Benutzers oder der Default Einstellungen mit einer anderen
81. e der dekomprimierten Datei explizit so angegeben werden dass die Satzl nge gr er ist als die der Originaldatei In diesem Fall werden die S tze bis zur vorgegebenen L nge mit dem F llzeichen aufgef llt 2 37 2014 by limes datentechnik gmbh Das Kommando flam parfile Syntax Werte Beschreibung 2 382 382 382 382 382 38 Frankenstein Limes Access Method Kapitel 2 Mit diesem Parameter k nnen die Angaben der Kommandozeile durch FLAM Parameter in einer Parameterdatei erg nzt oder berschrieben werden parfile Parameterdatei Parameterdatei Spezifikation einer Datei die FLAM Parameter enth lt Wird kein Pfad angegeben wird diese im aktuellen Verzeichnis gesucht Durch Angabe einer Parameterdatei k nnen Defaultwerte ohne umfangreiche Eingaben in der Kommandozeile berlagert werden Siehe hierzu im Abschnitt 2 5 Priorit tsregeln f r FLAM Einstellungen Diese kann mit einem Texteditor interaktiv erstellt werden s Beispiel in Abschnitt 2 6 Eine Parameterdatei kann nicht auf eine andere Parameterdatei verweisen darf also keine parfile Spezifikation enthalten Ferner darf sie den Parameter show nicht ver ndern das dessen Einstellung schon nach der Analyse der Kommandozeile feststehen muss 2 38 FLAM V4 3 UNIX 2014 by limes datentechnik gmbh Kapitel 2 password Syntax Werte Beschreibung FLAM V4 3 UNIX Frankenstein Limes Access Method Das Kommando flam M
82. e dieses Character Strings ist 4 Byte entsprechend einem long integer Der Aufbau des record_delimiter ist bei Funktion fImghd beschrieben Dieses Argument gibt den Speicherbereich an in dem f r eine indexsequentielle Originaldatei die Beschreibung des Schl ssels bergeben wird Dieses Argument ist f r k nftige Erweiterungen reserviert Dieses Argument ist f r k nftige Erweiterungen reserviert Dieses Argument besteht aus zwei Bytes in denen ein Code f r das Betriebssystem bergeben wird auf dem die FLAMFILE erzeugt wird Die Liste der g ltigen Werte ist bei fImghd aufgef hrt Mit diesem Argument wird angezeigt ob anschlie end die bergabe weiterer Informationen f r den FLAM Fileheader durch flmpuh erfolgen soll oder nicht 0 keine weiteren Informationen sonst weitere Informationen folgen Die Funktion fImphd darf nur beim Komprimieren benutzt werden Sie ist nur erlaubt wenn bei flmopf fileheader 1 angegeben wird Bei Aufruf mit continue_param 0 oder nach fImpwd muss ein fImpuh Aufruf unmittelbar folgen Returncodes Eine Beschreibung der Returncodes befindet sich in Anhang A Returncodes 4 264 264 264 264 264 264 26 FLAM V4 3 UNIX Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Kapitel 4 fImpos Syntax Argumente fImid returncode position Abh ngigkeiten Returncodes FLAM V4 3 UNIX Frankenstein Limes Access Method Die Satzschnittstelle Mit fImpo
83. ecord_length work long functioncode Funktionscode long returncode Returncode char record_pointer Satzpointer long record_length Satzlaenge char work Arbeitsbereich returncode 0 kein Fehler Satz uebernehmen if functioncode 0 functioncode Bi return if record_length gt 16 16 und 17 Byte vertauschen work record_pointer 15 record_pointer 15 record_pointer 16 record_pointer 16 work return FLAM V4 3 UNIX 7 29 Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Anwendungsbeispiele 7 8 5 Kapitel 7 Funktion zur automatischen Schl sselverwaltung Um bei der Verschl sselung Entschl sselung Kennw rter automatisch zu erzeugen bzw zu bergeben kann beim Aufruf von FLAM ber den kmexit Parameter eine entsprechende Funktion aktiviert werden Eine solche Funktion k nnte etwa als ANSI C Programm wie folgt aussehen include lt stdio h gt include lt stdlib h gt include lt time h gt include lt sys types h gt include lt sys stat h gt define KMX_KEY_LENGTH define KMX_ID_ INFO define KMX_ENCRYPT define KMX_DECRYPT void samplexl 8 OxFFFFFFFF 1 0 7 H e ke ke He 2 2 2 22 2 2 2 22 2 2 2 2 202 2 2 2 22 2 2 2 22 2 2 2 22 2 2 2 2 2 2 2 2 k f signed long signed long unsigned long unsigned char unsigned long unsigned char unsigned long
84. egeln beziehen sich demnach auf die Gesamtheit der Einstellungen nicht allein auf die Eingaben der Kommandozeile In der Syntaxbeschreibung kann daher die Spezifikationsebene ausser f r die Priorit tsregeln unber cksichtigt bleiben Soweit im folgenden also von Parametern die Rede ist gelten die Aussagen unver ndert wenn die entsprechenden Angaben durch das flam Kommando die Parameterdatei oder Defaultwerte ersetzt werden Auf Ausnahmen hiervon wird besonders hingewiesen Bei der Eingabe des Kommandos FLAM kann f r FLAM FLAMFILE und auch alle anderen Parameterbezeichnungen Gro und Kleinschreibung benutzt werden Das Kommando flam Syntax 2 42 42 42 42 42 4 Frankenstein Limes Access Method Kapitel 2 2 2 Kommando Syntax Mit dem Shellkommando flam kann das Programm flam interaktiv oder per Shellscript aufgerufen werden flam parameter Werf Da die Angabe der Parameter nicht nur im Kommando sondern auch ber eine Parameterdatei erfolgen kann und die f r die Durchf hrung einer Funktion dann noch fehlenden Parameter der Defaultwertedatei entnommen werden ist die Reihenfolge der Angaben beliebig Die f r die Parameter und Parameterwerte d rfen bei der Eingabe soweit abgek rzt werden wie die Eindeutikeit ihrer Bedeutung es zul sst So kann etwa recs anstelle von recsize verwendet werden w hrend bei weniger Zeichen unklar w re ob recdelim recformat oder recsize gemeint sei In den f
85. eihenfolge bei Aufruf von flmcls FLAM_SEQ_PWD Bedeutung Falsche Reihenfolge bei Aufruf von fImpwd FLAM V4 3 UNIX 2014 by limes datentechnik gmbh Anhang A Returncode 900 998 999 FLAM V4 3 UNIX Frankenstein Limes Access Method Returncodes Symbolischer Name Bedeutung FLAM_PARAMETER_QUALIFIER Bedeutung Fehlerhafte FLAM Optionen nur flamup FLAM_INVALID_LICENSE Bedeutung Ung ltige Lizenz FLAM_INVALID_FUNCTION Bedeutung Die vorgeschriebene Aufrufsequenz wurde nicht beachtet oder eine Speicheranforderung konnte nicht befriedigt werden A 11 2014 by limes datentechnik gmbh Returncodes 1 Halbbyte 2 Halbbyte Anhang A Kennzeichnung der I O Fehler im h chstwertigen Byte des Returncodes Kennzeichen Betroffene Datei X ex Eingabedatei X ax Ausgabedatei L t FLAMFILE X cx Parameterdatei X dx Meldungsdatei X 9x Codetabelle X 8x Defaultwerte X 7x Meldungen Kennzeichen Fehlerursprung Xxx0 Meldung von FLAM x xf Meldung von l O Funktionen A 12A 12A 12A 12A 12A 12A 12 FLAM V4 3 UNIX Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Kapitel 7 Anwendungsbeispiele FLAM UNIX Benutzerhandbuch Anhang B Codetabellen FLAM V4 3 UNIX Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Kapitel 7 FLAM V4 3 UNIX Frankenstein Limes Access Method Anwendungsbeispiele B Codetabellen Wenn Sie Datei
86. en Die Ausgabespezifikation wirkt hnlich wie d h die Namen f r die dekomprimierten Dateien werden aus der bzw den FLAMFILE s entnommen mit dem Unterschied dass lediglich der Dateiname ber cksichtigt wird Der Pfadname wird ignoriert Somit werden alle Dateien im aktuellen Verzeichnis erzeugt wenn nicht mittels outpath ein bestimmtes Ausgabeverzeichnis vorgegeben wird Voraussetzung f r die Verwendung dieser Ausgabespezifikationen ist dass mit attributes all komprimiert wurde Die Ausgabespezifikationen Dateiname und d rfen nicht Teil einer Liste sein d h sie m ssen alleine stehen Werden mit der Ausgabespezifikation Dateien f r die Verarbeitung durch FLAM vorgegeben muss bei der Komprimierung der Parameter flamfile bzw bei der Dekomprimierung der Parameter flamout angegeben werden Soll die Ausgabe der Daten auf die spezielle Datei stdout erfolgen entf llt der Parameter f r die Ausgabespezifikation Somit kann FLAM als Filter benutzt werden 2 4 3 Zuordnung von Eingabe zu Ausgabespezifikationen Enth lt das flam Kommando mehrere Ein und Ausgabespezifikationen so wird zwischen diesen eine Zuordnung getroffen Diese legt fest wo die Komprimate der einzelnen Originaldateien bzw wo die dekomprimierten Daten der Komprimate gespeichert werden Die Zuordnung von Ein und Ausgabespezifikation zueinander erfolgt ber deren Position in der jeweiligen Liste Die erste Eingabespezifikatio
87. en zwischen Systemen mit unterschiedlichen Zeichencodes austauschen k nnen Sie im Bedarfsfall mit dem Parameter translate Codetabelle Ihre Daten durch FLAM automatisch in den gew nschten Zeichencode bersetzen lassen Hierzu m ssen Sie jedoch eine bersetzungstabelle zur Verf gung stellen Die folgenden Abschnitte beschreiben wie Sie eigene Codetabellen erzeugen k nnen B 1 Struktur von Codetabellen FLAM liest aus der Datei die Sie als Codetabelle spezifiziert haben die ersten 256 Bytes Diese 256 Bytes bilden eine Zeichenkette die von FLAM als bersetzungstabelle verwendet wird Dazu wird f r jedes Zeichen der Ursprungsdaten der Zahlenwert seines Codes als Index f r die bersetzungstabelle genommen und durch das zugeh rige Tabellenelement ersetzt Der m gliche Wertebereich dieses Zahlenwerts ist 0 255 dezimal und entspricht den Tabellenpositionen 1 256 Um beispielsweise EBCDIC codierte Textdaten bei der Dekomprimierung in ASCIl Code zu bersetzen kann folgende Codetabelle erstellt werden Beispiel B 1 Inhalt einer Codetabelle e He He He He de e He He He He He e He He He He He He e He He He ke de ke ke ke ke kk k He He He He He de 122 22721272 He He He He He He e 212 2 2 222 12522 k ke e e de e de de de de ee e e e ke de de de e eke kekeke Y ek k LK ke e 2 2 2222 202 2 2 222 2 2 22 2 2 2 2 22 AA abcdefghi jklmnopgqr Fk SE UVWXYZ K H He de de RE He ke k ke ABCDEFGHI JKLMNOP
88. er Aufruf einer Funktion der Satzschnittstelle Es besteht also zumindest f r die FLAMFILE keine Synchronisation der Benutzerausg nge mit dem Anwenderprogramm denn f r das letztere ist z B nicht erkennbar ob ein fImget Aufruf tats chlich eine oder gar mehrere Leseoperationen ausl st oder nicht Die Aktivierung dieser Ausg nge ist ber die Unterprogrammschnittstellen und die Satzschnittstelle m glich wobei die Satzschnittstelle nur Benutzerausg nge f r FLAMFILE Zugriffe aktivieren kann Die ber diese Schnittstellen aufgerufenen Programme m ssen mit der Anwendung statisch gebunden sein s Abschnitt 6 2 Ein Benutzerausgang wird beim ffnen bei jedem Lesen oder Schreiben und beim Schlie en der Datei aufgerufen Uber das Argument functioncode wird dem Benutzerausgang angezeigt um welche Art des Zugriffs es sich handelt um diesem eine situationsgerechte Reaktion zu erm glichen 1 161 161 161 161 161 161 16 FLAM V4 3 UNIX Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Kapitel 1 FLAM V4 3 UNIX Frankenstein Limes Access Method FLAM im berblick FLAM unterst tzt folgende Ausg nge f r Dateizugriffe Aufgerufen bei Zugriffen auf OQ Originaldatei Komprimierung FLAMFILE Komprimierung Dekomprimierte Datei Dekomprimierung FLAMFILE Dekomprimierung Bei der Komprimierung k nnen die Benutzerausg nge exk10 und exk20 f r Zugriffe auf die Originaldatei bzw auf die FLA
89. er Dateien in eigenen Anwendungen Satzschnitt Anwendungs bergabe und Abruf stelle programme einzelner S tze in flamrec eigenen Anwendungen Ersatz der FLAM Ein und Ausgaberoutinen Unterpro gramm flamup Benutzer eigene Ein Ausgabe Benutzer ausg nge Vor bzw Nachschal tung eigener Datei und oder Satz verarbeitung f r komprimierte und unkomprimierte Daten Schl sselverwaltung Diese Schnittstellen besitzen eine hierarchische Ordnung die festlegt welche Schnittstelle von wo aus benutzt bzw aufgerufen werden kann Die Schnittstellen unterteilen sich in zwei Kategorien aktive und passive Schnittstellen Der Aufruf aktiver Schnittstellen wird vom Benutzer bzw dessen Anwenderprogramm initiiert und aktiviert die sie unterst tzenden Routinen von FLAM Hierzu z hlen das Kommando die Unterprogramm und die Satzschnittstelle Uber passive Schnittstellen werden von FLAM Benutzerroutinen aktiviert die einen bestimmten Funktionsumfang erf llen m ssen deren Aufruf aber nicht mit der Logik des Anwenderprogramms synchronisiert ist In diese Kategorie fallen die benutzereigene Ein Ausgabe und die Benutzerausg nge FLAM V4 3 UNIX 2014 by limes datentechnik gmbh Kapitel 1 FLAM V4 3 UNIX Frankenstein Limes Access Method FLAM im berblick Die folgenden Abschnitte geben einen berblick wie die verschiedenen Schnittstellen zu benutzen sind ohne auf alle Details einzugehen F r jede Sc
90. er durch den Parameter exd20 Exitspezifikation im Argument parameter_string angegeben Bei der Funktion flmopf wird er im Argument exitroutine_decomp spezifiziert Er erh lt die Kontrolle nach dem ffnen nach jedem Lesezugriff und vor dem Schlie en der FLAMFILE wobei ihm nach Lesezugriffen der gelesene Satz zur Verf gung gestellt wird Bei R ckgabe der Kontrolle an FLAM bergibt er einen Returncode void exd20 long functioncode long returncode char record_pointer long record_length char work In diesem Argument wird dem Benutzerausgang ein Funktionscode bergeben G ltige Werte sind 0 Erster Aufruf f r die Datei nach open 4 Satz im Satzpuffer bereitgestellt 8 Letzter Aufruf f r die Datei vor close In diesem Argument gibt der Benutzerausgang einen Retuncode an FLAM zur ck Siehe besondere Beschreibung der Returncodes und ihrer Bedeutungen Dieses Argument enth lt einen Pointer auf einen Character String Der Pointer hat eine L nge von 4 Byte und entspricht damit einem long integer Bei Aufrufen mit Funktionscode 4 enth lt er die Adresse des gelesenen Satzes Diese Adresse kann vom Benutzerausgang ge ndert werden beispielsweise um einen Satz einzuf gen Dieses Argument enth lt bei Aufrufen mit Funktions code 4 die L nge des gelesenen Satzes Diese L nge kann vom Benutzerausgang ge ndert werden beispielsweise beim Einf gen eines Satzes 6 7 2014 by limes datentechnik gmbh Die Benutz
91. er gespeichert Die Namen der Ein und Ausgabedatei werden im Dialog eingegeben Beispiel Komprimieren einer Datei File Header mit allgemeinem und Anwenderteil wird geschrieben lt stdio h gt lt time h gt lt sys types h gt lt sys stat h gt lt errno h gt lt fcntl h gt extern int errno include include include include include include extern int sys_nerr include flamincl h main char flmid char kname 100 char oname 100 long flcode long modus long statis long opmode long blkmode long header I long prctrl I long reclength long namlen long sattrlen union char c 4 char p sysattr char datrec 2048 char system 2 7 107 107 107 107 107 107 10 Frankenstein Limes Access Method Kennung Satzschnittstelle Name Komprimatsdatei Name Originaldatei Flamcode Modus der Komprimierung Statistik Openmodus Blockmodus File Header Vorschubsteuerzeichen Satzlaenge Laenge Dateiname Laenge systemspez Information systemspez Information Datenbereich Betriebssystem FLAM V4 3 UNIX 2014 by limes datentechnik gmbh Kapitel 7 long sanz unsigned long maxb long 1stpar long blksk long recfk long recsk devk orgak long long union char c 4 unsigned long i recdelk long cldispk struct kd keydesck long devo
92. erausg nge work Returncodes 6 86 86 86 86 86 86 8 Frankenstein Limes Access Method Kapitel 6 Dieses Argument ist ein Bereich von 1 KByte der von FLAM bei jedem Aufruf des Benutzerausgangs als Arbeitsbereich zur Verf gung gestellt wird und zwischen den Aufrufen von FLAM nicht ver ndert wird Bei erstmaligem Aufruf Funktionscode 0 enth lt der Bereichsanfang den Dateinamen der Rest ist mit Bin rnullen initialisiert Wert Bedeutung 0 Satz bernehmen bzw kein Fehler 4 Satz nicht bernehmen 8 Satz einf gen Die Pufferadresse des einzuf genden Satzes und seine L nge m ssen in den Argumenten record_pointer und record_length zur ckgegeben werden Der Benutzerausgang wird erneut f r den urspr nglichen Satz aufgerufen 12 Ende der Komprimierung einleiten 16 Fehler im Benutzerausgang abnormales Ende FLAM V4 3 UNIX 2014 by limes datentechnik gmbh Kapitel 6 exk10 Syntax Argumente functioncode returncode record_pointer record _length work FLAM V4 3 UNIX Frankenstein Limes Access Method Die Benutzerausg nge Dieser Benutzerausgang kann bei der Komprimierung f r die Bearbeitung der S tze der Originaldatei nach dem Lesen benutzt werden Er wird durch das Unterprogramm flamup ber den Parameter exk10 Exitspezifikation im Argument parameter_string aktiviert Er erh lt die Kontrolle nach dem ffnen nach jedem Lesezugriff und vor dem Schlie en der Originaldatei
93. erden beispielsweise beim Einf gen eines Satzes Dieses Argument ist ein Bereich von 1 KByte der von FLAM bei jedem Aufruf des Benutzerausgangs als Arbeitsbereich zur Verf gung gestellt wird und zwischen den Aufrufen von FLAM nicht ver ndert wird Bei erstmallgem Aufruf Funktionscode 0 enth lt der Bereichsanfang den Dateinamen der Rest ist mit Bin rnullen initialisiert 6 5 2014 by limes datentechnik gmbh Die Benutzerausg nge Returncodes 6 66 66 66 66 66 66 6 Frankenstein Limes Access Method Wert 12 16 Kapitel 6 Bedeutung Satz bernehmen bzw kein Fehler Satz nicht bernehmen Satz einf gen Die Pufferadresse des einzuf genden Satzes und seine L nge m ssen in den Argumenten record_pointer und record_length zur ckgegeben werden Der Benutzerausgang wird erneut f r den urspr nglichen Satz aufgerufen Ende der Komprimierung einleiten Fehler im Benutzerausgang abnormales Ende FLAM V4 3 UNIX 2014 by limes datentechnik gmbh Kapitel 6 exd20 Syntax Argumente functioncode returncode record_pointer record _length FLAM V4 3 UNIX Frankenstein Limes Access Method Die Benutzerausg nge Dieser Benutzerausgang kann bei der Dekomprimierung f r die Zugriffe auf die FLAMFILE zur Vorverarbeitung der gelesenen S tze benutzt werden Er kann durch das Unterprogramm flamup oder die Satzschnittstellenfunktion fImopf aktiviert werden Im Unterprogrammaufruf wird
94. ers f r die dekomprimierte Datei verwendet werden sollen outuser_io keine Die dekomprimierte n Dateien werden mit den vom Anwender erstellten Ein Ausgaberoutinen geschrieben Daf r sind die Module usropn usrput und usrels erforderlich die Module usrget und urspos k nnen Dummy Module sein siehe Kapitel 6 3 9 2014 by limes datentechnik gmbh Der Unterprogramm Aufruf flamup Kapitel 3 user_io Syntax Werte Beschreibung Mit diesem Parameter wird angegeben dass statt der Ein Ausgabe Routinen von FLAM die des Benutzers f r die Komprimatsdatei verwendet werden sollen user Io keine Die Komprimatsdatei en werden mit den vom Anwender erstellten Ein Ausgaberoutinen geschrieben oder gelesen Erforderlich sind immer die Module usropn und usrcis bei der Komprimierung usrput und bei der Dekomprimierung usrget usrpos ist ein Dummy Modul Ein nicht erforderlicher Modul usrget usrput kann ebenfalls ein Dummy Modul sein siehe Kapitel 6 3 103 103 103 103 103 103 10 FLAM V4 3 UNIX Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Kapitel 3 Der Unterprogramm Aufruf flamup FLAM V4 3 UNIX 3 3 Binden von flamup flamup liegt in zwei vorgebundenen Modulen vor flam_up o und flam_upu o Der Modul flam_up o enth lt Dummy Module f r die Benutzer Ein Ausgabe Routinen und die Benutzerausg nge Der Modul flam_upu o enth lt keine Benutzer Ein Ausgabe Routinen und keine Benu
95. ersion 2 0 von FLAM auf UNIX und auch zu anderen Systemen kompatibel zu sein sind nicht nur die genannten Parameterbezeichnungen zul ssig sondern auch die alten und die anderer Systeme Zu empfehlen ist allerdings die Benutzung der bereits beschriebenen Parameter Parameterbezeichnung alternative Bezeichnung attributes no header no attributes common attributes all fileinfo header yes decompress uncompress flamcode character_set inrecdelim in_format recdelim irecdelim irdelim indelim inrecformat in_format informat irformat irecformat inrecsize in_format Satzformat insize irsize irecsize maxbuffer buffer_size maxrecords records_in_buffer msgfile messages message file log mode cx7 CX7 seven bit mode cx8 CX8 eight bit mode vr8 vr8 FLAM V4 3 UNIX 2 57 Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Das Kommando flam 2 582 582 582 582 582 58 Frankenstein Limes Access Method Kapitel 2 Parameterbezeichnung alternative Bezeichnung option cut option nocut outrecdelim outrecformat outrecsize parfile show no error attributes all translate 2 58 cut nocut out_format recdelim orecdelim ordelim outdelim Out format orecformat orformat outformat Out format Orecsize orsize outsize parameter_file Info no info hold info yes code_table FLAM V4 3 UNIX 2014 by limes datentechnik gmbh Di
96. erte Parameter des flam Kommandos attributes compress decompress defaults flamcode flamfile 1 3 1 4 1 4 1 5 1 6 1 6 1 7 1 8 1 9 1 10 1 11 1 12 1 12 1 14 1 15 2 3 2 4 2 5 2 6 2 7 2 7 2 7 2 8 2 9 2 10 2 11 2 15 2 16 Inhaltsverzeichnis IVIVIVIVIVIVIV Frankenstein Limes Access Method 2 4 2 4 1 2 4 2 2 4 3 2 5 2 6 2 7 2 8 flamin 2 17 flamout 2 18 inrecdelim 2 19 inrecformat 2 20 inrecsize 2 21 kmexit 2 22 list 2 24 maxbuffer 2 26 maxrecords 2 27 mode 2 28 msgfile 2 29 ndc 2 30 nopath 2 31 option 2 32 outpath 2 33 outrecdelim 2 34 outrecformat 2 35 outrecsize 2 36 pad_char 2 37 parfile 2 38 password 2 39 recdelim 2 41 recformat 2 42 recsize 2 43 show 2 44 translate 2 47 Dateispezifikationen 2 48 Eingabespezifikationen 2 48 Ausgabespezifikationen 2 49 Zuordnung von Eingabe zu Ausgabespezifikationen 2 50 Priorit tsregeln f r FLAM Einstellungen 2 52 Die FLAM Parameterdatei 2 54 Die FLAM Defaultwertedatei 2 56 Alternative Bezeichnungen von Parametern 2 57 FLAM V4 3 UNIX 2014 by limes datentechnik gmbh Inhaltsverzeichnis Kapitel 3 3 Der Unterprogramm Aufruf flamup 3 3 3 1 Aufruf Sequenz f r flamup 3 3 3 2 FLAM Parameter im Unterprogramm Aufruf flamup 3 5 exdi0 3 7 exd20 3 7 exk10 3 8 exk20 3 8 inuser_io 3 9 outuser_io 3 9 user_io 3 10 3 3 Binden von flamup 3 11 Kapitel 4 4 Die Satzschnittstelle flamrec 4 3
97. ess Method Die Satzschnittstelle Die Funktion fImopn open leitet die Open Sequenz f r eine FLAMFILE ein Ihrem Aufruf k nnen Aufrufe von fImopd und oder fImopf folgen um Dateieigenschaften der FLAMFILE bzw FLAM Einstellungen zu setzen oder abzufragen void fImopn char flmid long returncode long continue_param long flam_open char filename long statistics Der Feldinhalt von flmid ist ein Pointer auf einen Character String Dieses Argument identifiziert die FLAMFILE f r die die Funktion auszuf hren ist Es wird durch die Funktion fImopn gesetzt und darf bis zum flmcls nicht ver ndert werden In diesem Argument wird ein Returncode an das aufrufende Programm zur ckgegeben Mit diesem Argument wird angezeigt ob anschlie end die bergabe bzw Ubernahme weiterer Einstellungsdaten durch einen flmopd oder einen flImopf Aufruf erfolgen soll oder nicht 0 kein weiterer Aufruf sonst weiterer Aufruf folgt Dieses Argument gibt den Verarbeitungsmodus der FLAMFILE an 0 input FLAMFILE lesen d h dekomprimieren 1 output FLAMFILE schreiben d h komprimieren In diesem Argument wird der Dateiname f r die FLAMFILE bergeben Diese Zeichenkette muss mit einem Null Byte Bin rnull abgeschlossen werden Der Dateiname wird durch die Funktion flmopd zur ckgegeben Bei Verwendung von stdin stdout steht im 1 Byte eine bin re Null oder ein Leerzeichen 4 23 2014 by limes datentechnik gmbh Die Sat
98. est cmp comp parlen enth lt dann den Wert 38 Das folgende Beispielprogramm verwendet die Unterprogrammschnittstelle Die Parameter werden im Aufruf angegeben analog dem Kommando flam Dieses Programm kann als Anwenderprogramm mit Benutzer Ein Ausgabe Routinen und oder Benutzerausg ngen verwendet werden FLAM V4 3 UNIX 2014 by limes datentechnik gmbh Kapitel 7 Anwendungsbeispiele Aufruf von flamup mit user exit und oder user i o include lt lt stdio h gt include lt sys types h gt include lt sys stat h gt include flamincl h void main argc argv int argc Anzahl Parameter in Kommando char argv uebergebene Parameter char id Kennung unsigned long retco Return Code long ip is integer char po pq Pointer unsigned char pp Pointer char string 100 Characterstring char parstring 1500 Parameterstring retco FLAM_NORMAL Return Code ok pp parstring is 0 ip 0 while ip lt argc po argv ip Parameter nach Eingabebereich pq amp string 0 while po 0x00 if po S po pqt Spott else Pott pq 0x00 enthaelt Parameter Listen po amp string 0 while po 0x00 amp amp po S po Pott FLAM V4 3 UNIX 7 7 Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Kapitel 7 Anwendung
99. etzung durchf hren Im Modus cx7 komprimierte FLAMFILEs hingegen sind gegen Code bersetzungen unempfindlich da in ihnen alle Steuerinformationen durch alphanumerische Zeichen dargestellt werden deren Codierungen sowohl im ASCII als auch im EBCDIC Code international standardisiert sind Sofern die Originaldaten zeichencodiert sind und sich f r einen Datenaustausch zwischen Systemen mit unterschiedlichen Zeichencodes eignen bleibt der Informationsgehalt der FLAMFILE nach einer bersetzung in den Zeichencode des Zielsystems trotz des ge nderten bin ren Inhalts dank der zeichenweisen Interpretation vollst ndig erhalten Bei der Dekomprimierung wird der Komprimierungsmodus automatisch erkannt Der Benutzer braucht daher den Komprimierungsmodus nicht zu kennen um eine Datei zu dekomprimieren 1 5 2014 by limes datentechnik gmbh FLAM im berblick 1 61 61 61 61 61 61 6 Frankenstein Limes Access Method Kapitel 1 1 3 Matrixpuffer und Satzanzahl Die Gr e des Matrixpuffers und die Anzahl der dort gepufferten S tze k nnen bei der Komprimierung mit den Parametern maxbuffer nicht bei Modus adc und maxrecords vorgegeben werden Als Faustregel gilt dass die Komprimierung um so effizienter ist je mehr S tze in einem Komprimatsblock zusammen komprimiert werden Wenn nicht andere Gesichtspunkte dem entgegenstehen empfiehlt es sich i a das Maximum 255 bzw 4095 zu w hlen Die vorgegebene Satzanzahl stellt aller
100. exitmod o xyz c lc usr lib flame flam_usrmod o und oder usr lib flame flam_exitmod o sind durch Module des Anwenders zu ersetzen Bei einigen UNIX Systemen muss die Runtime Library lib ert0 o im Link Kommando mit angegeben werden 4 31 2014 by limes datentechnik gmbh Die Benutzerausg nge FLAM UNIX Benutzerhandbuch Kapitel 5 Die Benutzer Ein Ausgabe Schniittstelle Die Benutzerausg nge 5 Die Benutzer Ein Ausgabe Schnittstelle 5 1 Anwendung der Benutzer Ein Ausgabe Schnittstelle FLAM benutzt f r die Ein und Ausgabe von Originaldateien dekomprimierten Dateien und FLAMFILEs die gew hnlichen Funktionen Es bietet jedoch auch die M glichkeit in Programmen die die Unterprogrammschnittstelle oder die FLAM Funktionen der Satzschnittstelle aufrufen Daten in einem nicht unterst tzten Format oder auf einem von UNIX nicht unter st tzten Ger t zu verarbeiten Dies ist m glich wenn die erforderlichen Ein und Ausgabe Routinen zur Verf gung gestellt werden FLAM setzt f r die betreffende Datei diese Routinen ein wenn beim Aufruf der Unterprogrammschnittstelle der Parameter inuser_io f r die Originaldatei user_io f r die FLAMFILE outuser_io f r die dekomprimierte Datei bzw beim Aufruf der FLAM Funktion flmopd im Argument device Benutzer Ein Ausgabe spezifiziert wird device 7 Der wesentliche Unterschied zwischen der Benutzer Ein Ausgabe Schnittstelle und der Satzschnittstelle besteht
101. fImopn gesetzt und darf bis zum flmcls nicht ver ndert werden In diesem Argument wird ein Returncode an das aufrufende Programm zur ckgegeben In diesem Argument wird die L nge des Speicherbereichs bergeben in dem der anwenderspezifische FLAM Fileheader abzulegen ist Die effektiv benutzte L nge wird zur ckgegeben In diesem Argument wird der anwenderspezifische FLAM Fileheader zur ckgegeben fImguh darf nur beim Dekomprimieren benutzt werden Es gibt die Daten aus dem anwenderspezifischen Fileheader zur ck die dort mit fImpuh gespeichert wurden Returncodes Eine Beschreibung der Returncodes befindet sich in Anhang A Returncodes 4 164 164 164 164 164 164 16 FLAM V4 3 UNIX Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Kapitel 4 fImopd Syntax Argumente flmid returncode continue_param filiename_length FLAM V4 3 UNIX Frankenstein Limes Access Method Die Satzschnittstelle Mit der Funktion fImopd open Dateibeschreibung k nnen spezielle Dateieigenschaften der FLAMFILE explizit gesetzt oder abgefragt werden Dieser Aufruf ist nicht in jedem Fall erforderlich Wird er bei der Komprimierung nicht ausgef hrt werden f r die betreffenden Dateieigenschaften der FLAMFILE implizite Werte eingesetzt Diese sind ggf jeweils bei den Beschreibungen der betref fenden Argumente angegeben fImopd kann nur im Anschluss an flmopn aufgerufen werden void fImopd char fl
102. fer Produkts bez glich der Satzl ngen oder der Satzformate nicht ohne weiteres m glich ist Wenn sich auch viele Probleme beim Datenaustausch durch das FLAM Konzept entsch rfen lassen k nnen gewiss nicht alle dadurch gel st werden Eignet sich eine Datei etwa wegen der darin enthaltenen Bin rdaten nicht zur unkomprimierten bertragung mit einem bestimmten File Transfer Produkt so wird auch nach der Komprimierung mit FLAM eine bertragung nicht m glich sein selbst bei einer Komprimierung im Modus cx7 Denn prinzipiell kommt jede im Original vorkommende Bitkombination auch in der FLAMFILE vor 1 4 2 Die FLAM Fileheader Neben dem Datenkomprimat kann eine FLAMFILE weitere Informationen enthalten die in den FLAM Fileheadern gespeichert werden FLAM unterscheidet zwei Kategorien von Informationen f r die jeweils ein eigener Fileheader Typ vorgesehen ist e Allgemeine Informationen werden im allgemeinen FLAM Fileheader abgelegt Dies sind Angaben ber die Originaldatei wie Dateiorganisation Satzformat L nge und Position des Prim rschl ssels etc aber auch Informationen ber die FLAM Version und das Betriebssystem unter dem die FLAMFILE erzeugt wurde e F r anwenderspezifische Informationen beliebiger Art gibt es den anwenderspezifischen FLAM Fileheader Dieser kann bei Benutzung der Satzschnittstelle zus tzlich eingef gt werden etwa f r Informationen die vom Anwenderprogramm auszuwerten sind 1 7 2014
103. fs flamup k nnen alle im Kommando flam g ltigen Parameter mit den hierbei g ltigen Werten stehen Zu beachten ist die Abweichung bei Angabe von Listen von Dateinamen Diese sind getrennt durch Komma und eingeschlossen in runde Klammern beim jeweiligen Parameter anzugeben Beispiel FL AM date date date Neben den im Kommando flam g ltigen Parametern k nnen beim Unterprogrammaufruf die FLAM Parameter f r die Benutzer Ein Ausgabe Routinen siehe auch Kapitel 5 und die Benutzerausg nge siehe auch Kapitel 6 angegeben werden Folgende Benutzer Ein Ausgabe Routinen k nnen angegeben werden user_io i n user_io o ut user_io 3 5 2014 by limes datentechnik gmbh Der Unterprogramm Aufruf flamup Kapitel 3 3 63 6 3 63 63 63 63 6 Frankenstein Limes Access Method Folgende Benutzerausg nge f r Dateizugriffe k nnen angegeben werden exk10 exk20 exd10 exd20 Die Benutzer Ein Ausgabe Routinen und Benutzerausg nge sind vom Anwender zu erstellen und m ssen mit dem Anwenderprogramm und flamup Modul flam_upu o gebunden werden Im folgenden Teil werden die nur in flamup zul ssigen Parameter f r die Benutzer Ein Ausgabe Routinen und Benutzerausg nge beschrieben FLAM V4 3 UNIX 2014 by limes datentechnik gmbh Kapitel 3 exd10 Syntax Werte Beschreibung exd20 Syntax Werte Beschreibung FLAM V4 3 UNIX Frankenstein Limes Access Method Der Unterprogramm A
104. g SECURITY Membernummer nicht fortlaufend FLAM_SEC_ERR_352 Bedeutung SECURITY Membertrailer Zaehler falsch AES_MEM_MAC Bedeutung AES Member MACs falsch AES_FIL_MAC Bedeutung AES File MACs falsch AES_CRC_SUFF Bedeutung Checksummenfehler im Komprimat CRC Offs AES_CRC_5 Bedeutung Checksummenfehler im Komprimat CRC 5 FLAM_ERR_REDUNDANT Bedeutung Parameter redundant oder nicht eindeutig FLAM_SEQ_OPD Bedeutung Falsche Reihenfolge bei Aufruf von flmopd A 9 Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Returncodes Returncode 402 403 404 405 406 407 408 409 410 411 412 A 10A 10A 10A 10A 10A 10A 10 Frankenstein Limes Access Method Anhang A Symbolischer Name Bedeutung FLAM_SEQ_OPF Bedeutung Falsche Reihenfolge bei Aufruf von flmopf FLAM_SEQ_PHD Bedeutung Falsche Reihenfolge bei Aufruf von flmphd FLAM_SEQ_GHD Bedeutung Falsche Reihenfolge bei Aufruf von flmghd FLAM_SEQ_PUH Bedeutung Falsche Reihenfolge bei Aufruf von flmpun FLAM_SEQ_GUH Bedeutung Falsche Reihenfolge bei Aufruf von fImguh FLAM_SEQ_PUT Bedeutung Falsche Reihenfolge bei Aufruf von flmput FLAM_SEQ_GET Bedeutung Falsche Reihenfolge bei Aufruf von fImget FLAM_SEQ_POS Bedeutung Falsche Reihenfolge bei Aufruf von flmpos FLAM_SEQ_FLU Bedeutung Falsche Reihenfolge bei Aufruf von flmflu FLAM_SEQ_CLS Bedeutung Falsche R
105. g des Schl sselexits Der Name der Schl sselexit Funktion kann frei gew hlt werden Diese Funktion muss in einer Shared Library enthalten sein die von FLAM w hrend der Ausf hrung ge ffnet wird Informationen zur Erzeugung von Shared Libraries entnehmen Sie bitte der Dokumentation des verwendeten Compilers 6 166 166 166 166 166 166 16 FLAM V4 3 UNIX Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Kapitel 7 Anwendungsbeispiele FLAM UNIX Benutzerhandbuch Kapitel 7 Anwendungsbeispiele FLAM V4 3 UNIX Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Kapitel 7 FLAM V4 3 UNIX Frankenstein Limes Access Method Anwendungsbeispiele TE Anwendungsbeispiele In diesem Kapitel wird die Benutzung von FLAM anhand von Beispielen illustriert F r das flam Kommando veranschaulichen zahlreiche Beispiele die vorhandenen M glichkeiten w hrend f r die Programmschnittstellen C Programme oder Ausschnitte aus solchen als Vorlage f r den praktischen Gebrauch dienen Diese Bei spiele werden ggf durch Hinweise f r das Binden der Programme erg nzt 7 1 Kommandos In den Beispielen werden nur die erforderlichen Parameter benutzt Sollen Parameter von den Standard werten abweichende Werte haben m ssen diese angegeben werden 7 2 Komprimieren 7 2 1 Eine Datei in eine Datei Die Datei test dat wird komprimiert und die komprimierten Daten werden in die Datei test cmp gesc
106. her Kapazit ten vorzuhalten um bis zum Abschluss der Komprimierung bzw Dekomprimierung die komprimierte und die nicht komprimierte Version der Datei aufnehmen zu k nnen 1 5 4 Die benutzereigene Ein Ausgabe FLAM unterst tzt standardm ig Ein und Ausgabe auf Plattendateien und verwendet hierzu Standard Ein Ausgabebefehle Es gestattet dem Anwender jedoch die Standardroutinen f r Ein und Ausgabe durch eigene Routinen zu ersetzen Dies kann z B dann sinnvoll sein wenn ein anderes Ein Ausgabeger t als Platte in Betracht kommt oder die Datei ein nichtunterst tztes Satzformat enth lt Es ist nicht m glich die Aufgabenstellung einer jeden Funktion der benutzereigenen Ein Ausgabe im Detail zu spezifizieren da sich diese je nach Ger t bzw Art der 1 13 2014 by limes datentechnik gmbh FLAM im berblick Kapitel 1 Daten anders darstellt Beipielsweise erfordern Daten die ber eine DFU Leitung empfangen werden andere Aktionen als etwa Daten aus Messinstrumenten FLAM betrachtet den Ursprung der Daten als Datei auch wenn es sich hierbei im konkreten Fall um andere Objekte handeln kann Die benutzereigene Ein Ausgabe umfasst folgende Funktionen Entsprechend dieser Sichtweise gibt FLAM f r diese Schnittstelle einen an den Bed rfnissen der Dateiverarbeitung orientierten Funktionsumfang vor Es ist die Aufgabe des Anwenders der diese Schnittstelle nutzen will die Funktionen so zweckgerecht zu konzi
107. hnittstelle enth lt eines der Folgekapitel eine ausf hrliche Beschreibung die als Referenzdokument dient Alle Programmschnittstellen d h alle Schnittstellen mit Ausnahme des Kommandos sind im jeweiligen Referenzkapitel in C Notation dargestellt und f r C Programmierer ist die C Header Datei flaminc h verf gbar in der die C Konstantendefinitionen enthalten sind Doch unterst tzen diese Schnittstellen keineswegs nur C Programme Vielmehr k nnen sie mit beliebigen Programmiersprachen genutzt werden da generell anstelle der C typischen Argument bergabe als Werte alle Argumente durch Pointer also durch ihre Adressen bergeben werden Wenn auch bei dieser Form der bergabe der Name ohne den Operatorr im strengen C Sinne die Argumentadresse kennzeichnet sind bei Bezugnahmen auf diese Argumente in den nachstehenden Erl uterungen stets die Werte der Argumente gemeint 1 5 1 Das Kommando flam Das Kommando flam kann benutzt werden um interaktiv oder in Prozeduren einzelne Dateien oder Gruppen von Dateien zu komprimieren oder zu dekomprimieren Die Parameter compress bzw decompress geben hierbei an welche Operation ausgef hrt werden soll Alle zur Ausf hrung des Kommandos ben tigten Angaben k nnen durch Eingaben in der Kommandozeile selbst ber eine Parameterdatei oder ber installationsspezifische Defaultwerte eingestellt werden Das flam Kommando mit dem Parameter list zeigt die aktuellen Einstellungen dieser Defau
108. hreibung Dieser Parameter gibt die Satzl nge von Originaldateien mit Satzformat fix oder undefined an FLAM V4 3 UNIX 2 21 Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Das Kommando flam kmexit Syntax Werte Beschreibung 2 222 222 222 222 222 22 Frankenstein Limes Access Method Kapitel 2 Mit diesem Parameter wird ein Benutzerausgang f r automatische Schl sselverwaltung angegeben kmexit Exitangaben Exitangaben haben die allemeine Form funcl ib exparmi jD Dabei ist func der Name einer Funktion in der Shared Library die das zum Ver oder Entschl sseln ben tigte Kennwort liefert lib der Name einer Shared Library die func enth lt ohne Dateityp so Bei Fehlen dieser Angabe wird der Standardwert libflamkm so angenommern FLAM sucht diese Shared Library im Verzeichnis FLAM_PATH lib wenn die Umgebungsvariable FLAM_PATH definiert ist sonst in usr lib Hinweis Bei Eingabe im Shell Kommando muss jeder runden Klammer ein Escape Character_ vorangestellt werden damit diese nicht von der Shell interpretiert wird In einer Parameterdatei sind keine Escape Character erforderlich exparm eine Folge von maximal 256 alphanumerischen Zeichen die an die Kennwortfunktion als Parameter bergeben wird Sie darf keine Leerzeichen oder Klammern enthalten Kommata d rfen verwendet werden doch m ssen dann die gesamten Exitangaben in runden Klammern eingeschlossen werden Vor
109. hrieben flam compress flamin test dat flamfile test cmp 7 2 2 Mehrere Dateien in eine Datei Die Dateien mit dem Suchmuster dat werden komprimiert und die komprimierten Daten werden in die Datei test cmp geschrieben flam compress flamin t dat flamfile test cmp attributes all show all Mit show all werden alle Informationen zur Komprimierung angezeigt attributes all bewirkt dass die Namen die Datei und die Satzattribute der Originaldateien in der Komprimatsdatei gespeichert werden Diese k nnen dann mit dem Kommando flam decompress showsattributes flamfile test cmp angezeigt werden ohne die dekomprimierten Dateien zu erzeugen 2014 by limes datentechnik gmbh Anwendungsbeispiele 7 47 47 47 47 47 4 Frankenstein Limes Access Method Kapitel 7 7 2 3 Mehrere Dateien in jeweils eine Datei Die Dateien mit dem Suchmuster t dat werden komprimiert Die komprimierten Daten jeweils einer Datei werden in eine Datei mit dem Namen der Originaldatei und dem Suffix cmp geschrieben flam compress flamin t dat flamfile dat cmp mode adc Enthielte das Default Verzeichnis etwa auch eine Datei tvdaten dat so w rde deren Komprimat in der FLAMFILE tvempen dat gespeichert s Abschnitt 2 3 2 Ausgabespezifikationen Um sicherzugehen dass die gew nschte Substitution tats chlich auf das Suffix angewandt wird ist die folgende Schreibweise vorzuziehen flam compress flamin t dat flamfile
110. ichenkette die die zu verwendenden FLAM Parameter enth lt siehe Abschnitt 3 2 FLAM Parameter im Uhnterprogramm Aufruf flamup Die einzelnen FLAM Parameter werden durch Kommata getrennt Spezifiziert einen long integer 4 Bytes der die L nge des parameter_string Arguments in Bytes enth lt Maximale L nge ist 512 Bytes Eine Beschreibung der Returncodes befindet sich im Anhang A Returncodes FLAM V4 3 UNIX 2014 by limes datentechnik gmbh Kapitel 3 FLAM V4 3 UNIX Frankenstein Limes Access Method Der Unterprogramm Aufruf flamup Anwenderprogramme k nnen die von flamup zur ckge gebenen Returncodes gem den in Anhang A Return codes beschriebenen Bedeutungen in Fehlermeldungen umsetzen Anstelle einer eigenen Tabelle mit Fehlertexten kann auch die vom Kommando flam intern verwendete Message Routine mit der FLAM Tabelle benutzt werden Der Aufruf f r die Ausgabe der Fehlermeldung mit den von FLAM intern verwendeten Tabellen lautet put_fImsg returncode Die von FLAM verwendeten Definitionen insbesondere auch die der symbolischen Namen f r die verschiedenen Returncodes sind in der C Header Datei usr include flamincl h enthalten Anwenderprogramme in anderen Programmier sprachen erfordern die bertragung dieser Definitionen in die jeweilige Programmiersprache durch den Program mierer 3 2 FLAM Parameter im Unterprogramm Aufruf flamup Im Argument parameter _string des Unterprogrammaufru
111. iert und die Komprimate in den zugeh rigen FLAMFILEs helptxt1 cmp und helptxt2 cmp abgelegt Die Substitution muss auf alle zugeordneten Eingabedateien anwendbar sein d h Zeichenkettei muss in den Namen aller zugeordneten Eingabedateien enthalten sein andernfalls bricht die Ausf hrung des flam Kommandos f r diese Datei unter Ausgabe einer entsprechenden Fehlermeldung ab Bei der Bildung des Namens der Ausgabedatei wird die Substitution nur einmal ausgef hrt auch wenn Zeichenkette im Namen der Eingabedatei mehrfach vorkommt Spezielle Ausgabespezifikationen sind Dateiname und Mit Dateiname als Ausgabespezifikation beim Dekomprimieren kann aus einer FLAMFILE die Komprimate mehrerer Originaldateien enth lt eine einzelne oder mittels Wildcards ggf mehrere Dateien selektiv extrahiert werden Diese werden im aktuellen Verzeichnis erzeugt falls keine andere Vorgabe mittels outpath besteht Bei Angabe der Ausgabespezifikation beim Dekomprimieren werden die Namen der dekomprimierten 2 49 Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Das Kommando flam 2 502 502 502 502 502 50 Frankenstein Limes Access Method Kapitel 2 Dateien einschlie lich Pfad der FLAMFILE entnommen sofern diese sie enth lt Andernfalls wird eine Fehlermeldung ausgegeben Um die Namen der Originaldateien in die FLAMFILE aufzunehmen muss bei der Komprimierung attributes all angegeben werd
112. iginaldatei komprimiert compress keine Beim Aufruf von FLAM muss compress angegeben werden um die Originaldatei zu komprimieren und eine FLAMFILE zu erzeugen 2 9 2014 by limes datentechnik gmbh Das Kommando flam decompress Syntax Werte Beschreibung 2 102 102 102 102 102 10 Frankenstein Limes Access Method Kapitel 2 Dieser Parameter bewirkt dass FLAM die Komprimatsdatei dekomprimiert decompress keine Beim Aufruf von FLAM muss decompress angegeben werden um die Komprimatsdatei zu dekomprimieren und eine dekomprimierte Datei zu erzeugen bzw die Informationen ber die Originaldatei en anzuzeigen 2 10 FLAM V4 3 UNIX 2014 by limes datentechnik gmbh Kapitel 2 defaults Syntax Werte ascii_ebcdic bersetzungsoption attributes Attributoption FLAM V4 3 UNIX Frankenstein Limes Access Method Das Kommando flam Mit diesem Parameter k nnen die installationsspezifischen Standardeinstellungen ge ndert werden Dieser Parameter kann nur vom Systemmanager benutzt werden defaults Defaultspezifikation Defaultspezifikation Defaultspezifikationen bestehen jeweils aus einem Schl sselwort oder einem Schl sselwort mit Wertzuweisung Die Schl sselw rter sind bis auf einige Ausnahmen identisch mit den Parametern des FLAM Kommandos und die Wertzuweisungen unterliegen derselben Syntax wie bei den Parametern Soweit bei nachstehenden Defaultspezifikationen auf
113. in Anhang A Returncodes 4 304 304 304 304 304 304 30 FLAM V4 3 UNIX Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Kapitel 4 FLAM V4 3 UNIX Frankenstein Limes Access Method Die Satzschnittstelle 4 5 Einbinden von Funktionen der Satz schnittstelle in Anwenderprogramme Die Satzschnittstelle von FLAM liegt in zwei vorgebundenen Modulen vor flam_rec o und flam_recu o Der Modul flamrec o enth lt die Dummy Module f r die Benutzer Ein Ausgabe und die Benutzerausg nge Der Modul flam_recu o enth lt keine Benutzer Ein Ausgabe Routinen und keine Benutzerausg nge Die Satzschnittstelle wird mit folgendem Kommando mit dem Anwenderprogramm xyz gebunden ld o xyz usr lib flame flam_rec o xyz c lc Will der Anwender Benutzerausg nge und oder eigene Ein Ausgabe Routinen verwenden m ssen diese zum Anwenderprogramm gebunden werden Hierbei ist statt flam_rec o der Modul flam_recu o zu verwenden Hierbei ist zu beachten dass nicht nur einzelne Routinen vom Anwender zu erstellen sind sondern alle Benutzerausg nge und oder Ein Ausgabe Routinen Will der Anwender nur eigene Benutzerausg nge oder nur eigene Ein Ausgabe Routinen verwenden kann er f r die brigen Funktionen die in der usr lib flame vorhandenen Dummy Routinen flam_usrmod o bzw flam_exitmod o einbinden Das Kommando lautet dann ld o xyz usr lib flame flam_recu o usr lib flame flam_usrmod o usr lib flame flam_
114. ionen oder vorgegeben werden In diesem Fall wird jedes Komprimat in eine Datei mit dem urspr nglichen Namen dekomprimiert Im nachstehenden Beispiel enth lt das flam Kommando jeweils eine Liste von Eingabe und Ausgabespezifikationen flam compress attributes all flamin dat txt funcl hlp func2 hlp flamfile dat cmp text arc hlp xyz Die Liste der Eingabespezifikationen enth lt vier Angaben die der Ausgabespezifikationen zwei Substitutionsvorschriften und eine Dateispezifikation Ent sprechend den Zuordnungsregeln wird f r jede Datei deren Name mit der Zeichenfolge dat endet eine gleichnamige Datei deren Name mit der Zeichenfolge cmp endet erzeugt w hrend die Komprimate aller Dateien deren Namen mit der Zeichenfolge txt enden in einer einzigen FLAMFILE n mlich in text arc gespeichert werden Das Komprimat von func1 hlp wird aufgrund der Substitutionsvorschrift in der letzten Ausgabespezifikation in funci xyz abgelegt Da keine weiteren Ausgabespezifikationen folgen wird diese Vorschrift auch auf func2 hip angewandt d h f r deren Komprimat wird die FLAMFILE func2 xyz erzeugt Es ist zu beachten dass eine Dekomprimierung von text arc in einzelne Dateien nur m glich ist wenn bei der Komprimierung attributes all angegeben wird und damit die Namen aller Originaldateien in die FLAMFILE bernommen werden Bei der Dekomprimierung darf eine der Ausgabespezifikationen oder angegeben werden
115. iption long block_size long print_control char system Der Feldinhalt von flmid ist ein Pointer auf einen Character String Dieses Argument identifiziert die FLAMFILE f r die die Funktion auszuf hren ist Es wird durch die Funktion fImopn gesetzt und darf bis zum flmcls nicht ver ndert werden In diesem Argument wird ein Returncode an das aufrufende Programm zur ckgegeben Dieses Argument enth lt die L nge des Pufferbereichs in dem der Name der Originaldatei zur ckzugeben ist Hier wird auch die tats chliche L nge zur ckgegeben Dieses Argument gibt den Pufferbereich an in dem der Name der Originaldatei zur ckzugeben ist Der Name wird dort als Zeichenkette abgelegt Ist die Bereichsl nge nicht ausreichend werden nur so viele Zeichen des Namens zur ckgegeben wie der Bereich fassen kann In diesem Argument wird ein Wer f r die Dateiorganisation der Originaldatei zur ckgegeben Die m glichen Werte und ihre Bedeutungen die teilweise Organisationsformen kennzeichnen die unter UNIX nicht existieren bzw noch nicht unterst tzt werden sind 0 sequenitiell 4 13 2014 by limes datentechnik gmbh Die Satzschnittstelle record format record size record _delimiter key_description block_size print_control 4 144 144 144 144 144 144 14 Kapitel 4 indexsequenitiell relativ Direktzugriff keine Satzstruktur Bibliothek physikalisch OOUOP OD In diesem Argument wird ein Wert f r da
116. it diesem Parameter kann bei Komprimierung und Dekomprimierung mit Modus adc ein Kennwort zum Ver und Entschl sseln der FLAMFILE mit dem AES oder dem FLAMenc Verfahren angegeben werden password Kennwort Kennwort Das Kennwort kann in zweierlei Formaten angegeben werden als einfache Zeichenfolge Bei diesem Format wird das Kennwort unmittelbar hinter das Gleichheitszeichen gesetzt und kann aus h chstens 64 Zeichen bestehen G ltige Zeichen sind hierbei lateinische Gro und Kleinbuchstaben Dezimalziffern Bindestrich und Unterstrich _ Die Verwendung anderer Zeichen kann unerw nschte Effekte zur Folge haben Gro und Kleinbuchstaben gelten als verschieden Beispiel password Alligator als Folge von Hexadzimalziffern Bei diesem Format kann das Kennwort aus einer geraden Anzahl von bis zu 128 Hexadezimalziffern bestehen 0 9 af A F In diesem Kontext gelten Gro und Kleinbuchstaben als quivalent Die Folge wird in Hochkommata eingeschlossen und ihr wird ein X vorangestellt Jede Kombination der g ltigen Zeichen ist hierbei zul ssig Hinweis Bei Eingabe im Shell Kommando muss jedem Hochkomma ein Escape Character vorangestellt werden damit dieses nicht von der Shell interpretiert wird In einer Parameterdatei sind keine Escape Character erforderlich Beispiel password X 416c6c696761746f72 FLAM benutzt das Kennwort w hrend der Komprimierung mit Modus adc zum Verschl sseln und
117. iter struct kd key_description long block size long print_control char system long continue_param Der Feldinhalt von flmid ist ein Pointer auf einen Character String Dieses Argument identifiziert die FLAMFILE f r die die Funktion auszuf hren ist Es wird durch die Funktion fImopn gesetzt und darf bis zum flmcls nicht ver ndert werden In diesem Argument wird ein Returncode an das aufrufende Programm zur ckgegeben Dieses Argument enth lt die L nge des Pufferbereichs in dem der Name der Originaldatei bergeben wird Dieses Argument gibt den Pufferbereich an in dem der Name der Originaldatei bergeben wird Der Name wird dort als Zeichenkette abgelegt und mit WI beendet In diesem Argument wird ein Code f r die Dateiorganisation der Originaldatei bergeben Die zul ssigen Werte sind bei der Funktion fImghd beschrieben 4 25 2014 by limes datentechnik gmbh Die Satzschnittstelle record_format record size record _delimiter key_description print_control system continue_param Abh ngigkeiten Kapitel 4 In diesem Argument wird ein Code f r das Satzformat der Originaldatei bergeben Die zul ssigen Werte sind bei der Funktion fImghd beschrieben In diesem Argument wird die maximale Satzl nge der Originaldatei bergeben Die zul ssigen Werte sind bei der Funktion fImghd beschrieben In diesem Argument wird bei Satzformat stream das Satztrennzeichen abgelegt Die L ng
118. ittstele flam_upu 0o bzw der Satzschnittstelle flam_recu o und dem Anwenderprogramm gebunden werden Dadurch kann nur eine Funktion je Benutzerausgang definiert werden In einem Anwenderprogramm nicht ben tigte Benutzerausg nge m ssen als leere Funktion vorhanden sein Binden der Programme siehe Kapitel 3 3 bzw 4 5 Beispiele f r Benutzerausg nge sowie ein Programm zum Komprimieren und Dekomprimieren von Dateien analog FLAM sind in Kapitel 7 enthalten 6 1 1 Programmierung der Zugriffsexits Bei der Programmierung der Benutzerausg nge f r Dateizugriffe ist das Umfeld zu ber cksichtigen in dem diese ausgef hrt werden Beispielsweise d rfen sie keinerlei interaktive Benutzereingriffe wie Tastatureingaben erfordern wenn ihre Verwendung im Stapelbetrieb nicht auszuschlie en ist Auch k nnen Bildschirmausgaben das von FLAM erzeugte Protokoll in unerw nschter Weise ver ndern Die mittels Pointer zur Verf gung gestellten Speicherbereiche d rfen nur in der im Aufruf angegebenen L nge modifiziert werden Speicher f r einzuf gende S tze ist vom Exit selbst anzufordern und freizugeben Im Folgenden ist die Syntax der Schnittstellen zwischen FLAM und den Benutzerausg ngen im Detail beschrieben FLAM V4 3 UNIX 2014 by limes datentechnik gmbh Kapitel 6 exd10 Syntax Argumente functioncode returncode record _pointer record _length work FLAM V4 3 UNIX Frankenstein Limes Access
119. k10 wird ein Modul definiert der die S tze der Originaldateifen nach dem Lesen bearbeitet Dieser Modul muss vom Anwender erstellt und mit flamup und einem bergeordneten Anwenderprogramm gebunden werden siehe Kapitel 7 Mit exk20 wird der Name eines Moduls angegeben mit welchem S tze der Komprimatsdatei vor dem Schreiben bearbeitet werden exk20 Exitspezifikation Exitspezifikation In dieser Version kann f r Exitspezifikation nur exk20 angegeben werden Mit exk20 wird ein Modul definiert der die S tze der Komprimatsdateifen vor dem Schreiben bearbeitet Dieser Modul muss vom Anwender erstellt und mit flamup und einem bergeordneten Anwenderprogramm gebunden werden siehe Kapitel 7 FLAM V4 3 UNIX 2014 by limes datentechnik gmbh Kapitel 3 inuser_io Syntax Werte Beschreibung outuser_io Syntax Werte Beschreibung FLAM V4 3 UNIX Frankenstein Limes Access Method Der Unterprogramm Aufruf flamup Mit diesem Parameter wird angegeben dass statt der Ein Ausgabe Routinen von FLAM die des Benutzers f r die Originaldatei benutzt werden sollen inuser_io keine Die Originaldatei en werden mit den vom Anwender erstellten Ein Ausgaberoutinen gelesen Daf r sind die Module usropn usrget und usrcls erforderlich die Module usrput und urspos k nnen Dummy Module sein siehe Kapitel 6 Mit diesem Parameter wird angegeben dass statt der Ein Ausgabe Routinen von FLAM die des Benutz
120. kt dass Komprimierungsinformationen in die FLAMFILE eingetragen werden attributes Attributoption Bedeutung keine Komprimierungsinformationen allgemeine Komprimierungsinformationen allgemeine Komprimierungsinformationen und system spezifische Informationen ber die Originaldatei Die Eintragung von Komprimierungsinformationen in die FLAMFILE gestattet eine sp tere Extraktion dieser Informationen auch ohne vollst ndige Dekomprimierung der FLAMFILE So k nnen bei der Komprimierung Dateiorganisation Satzformat und Satzl nge der Originaldatei festgehalten werden sowie ein Kennzeichen unter welchem Betriebssystem die Komprimierung erfolgt attributes common Dadurch kann im Bedarfsfall bei der Dekomprimierung die dekomprimierte Datei mit denselben Charakteristika erzeugt werden Optional kann zus tzlich die Dateispezifikation der Originaldatei eingetragen werden attributes all Dies erm glicht bei der Dekomprimierung die Ausgabespezifikation oder anzugeben so dass FLAM automatisch auf die eingetragene Dateispezifikation und die zugeh rigen Charakteristika zur ckgreift Mit attributes none wird keinerlei Information ber die Originaldatei in die FLAMFILE eingetragen 2 8 FLAM V4 3 UNIX 2014 by limes datentechnik gmbh Kapitel 2 compress Syntax Werte Beschreibung FLAM V4 3 UNIX Frankenstein Limes Access Method Das Kommando flam Dieser Parameter bewirkt dass FLAM die Or
121. lam ffkmx failed Reading file flam ffkmx failed Function code d not supported File flam ffkmx too small r r r r I tat Determine file size Mi msgl LE FLAM V4 3 UNIX 2014 by limes datentechnik gmbh Kapitel 7 Anwendungsbeispiele if filestat st_size lt 256 Check file s size Mi strcpy message char errmsg6 msglen strlen message return khandle fopen ffkmx rb Open text file if khandle NULL strcpy message char errmsg2 msglen strlen message return switch fuco case KMX_ENCRYPT For Encryption time amp unixtime srandom unixtime 0x00010001L generate random read_pos rnd_nbr random filestat st_size as read position and rnd_nbr 0x55555555L obscure it data 3 char rnd_nbr save modified rnd_nbr gt gt 8 data 2 char rnd_nbr rnd_nbr gt gt 8 data 1 char rnd_nbr rnd_nbr gt gt 8 data 0 char rnd_nbr Mi datalen 4 break case KMX_DECRYPT For Decryption rnd_nbr unsigned long data 0 retrieve saved number rnd_nbr lt lt 8 rnd_nbr unsigned long data 1 rnd_nbr lt lt 8 rnd_nbr unsigned long data 2
122. lediglich f r die Korrektheit der Einzelfunktionen hinsichtlich ihrer Aktionen und Verhaltensweisen verantwortlich Die Beschreibung in diesem Uberblick beschr nkt sich daher auf diese Aspekte F r jede zugeordnete Datei wird usropn als erste genau einmal aufgerufen Mit dem Argument workio wird ein Arbeitsbereich von 1024 Bytes als dateispezifisches Ged chtnis zur Verf gung gestellt Dieser Bereich wird bei allen nachfolgenden Aufrufen bis zum usrcls unver ndert weitergegeben Im Argument openmode wird die Art des gew nschten Zugriffs input output spezifiziert In den Argumenten record_format record_size usw werden die Datei und Satzattribute spezifiziert die ggf an die Gegebenheiten der Datei angepasst werden k nnen ber fest definierte und frei vergebbare Returncodes k nnen der erfolgreiche Abschluss der Funktion bzw spezielle Zust nde und Fehler gemeldet werden Der Returncode wird von FLAM ausgewertet und im Falle eines Fehlers ggf an aufrufende Programme weitergeleitet Mit usrput wird ein Satz zum Schreiben bergeben Kann der Satz nicht in der angegebenen L nge geschrieben werden ist die Verk rzung oder die Auff llung mit dem beim usropn in padchar angegebenen F llzeichen im Returncode zu melden Mit usrget fordert FLAM den n chsten Satz an Es d rfen maximal so viele Zeichen bergeben werden wie im Parameter buffer _length angegeben sind Muss der Satz deshalb verk rzt werden ist das im Return
123. ltwerte an und mit dem Parameter defaults k nnen sie vom Systemmanager ge ndert werden Mit dem flam Kommando kann aus je einer Originaldatei eine einzelne FLAMFILE erzeugt werden Es k nnen auch mehrere Originaldateien in eine einzige FLAMFILE komprimiert werden Bei der Komprimierung k nnen die Eingabedateien explizit benannt oder implizit durch Suchmuster mit Wildcards spezifiziert werden w hrend f r die Ausgabedateien neben explizite Nennung auch Substitutionsvorschriften f r die Namensbildung zul ssig sind Dieselben Spezifikationsformen sind auch bei der Dekomprimierung m glich doch kann zus tzlich durch die spezielle Ausgabespezifikation bzw eine Datei unter ihrem urspr nglichen Namen und mit ihren Originalattributen wiedererzeugt werden 1 11 2014 by limes datentechnik gmbh FLAM im berblick Kapitel 1 Dateiattribute der dekomprimierten Datei wie Organi sation oder Satzformat k nnen von denen der Original datei abweichen Dadurch kann FLAM auch zur Konvertierung von Dateien verwendet werden Mit Ausnahme der Parameter list und defaults gibt es zu allen Elementen der Kommandosyntax quivalente FLAM Parameter so dass jede Einstellung sowohl durch Eingaben in der Kommandozeile als auch mittels Angaben in einer Parameterdatei m glich ist auf die im Kommando mit dem Parameter parfile Parameterdatei verwiesen wird Durch Benutzung einer Parameterdatei k nnen z B umfangreiche Tastatu
124. mid long returncode long continue_param long filename_length char filename long organization long record format long record_size char record_delimiter struct kd key_description long block_size long close_disposition long device Der Feldinhalt von flmid ist ein Pointer auf einen Character String Dieses Argument identifiziert die FLAMFILE f r die die Funktion auszuf hren ist Es wird durch die Funktion fImopn gesetzt und darf bis zum flmcls nicht ver ndert werden In diesem Argument wird ein Returncode an das aufrufende Programm zur ckgegeben Mit diesem Argument wird angezeigt ob anschlie end die bergabe bzw Ubernahme weiterer Einstellungsdaten durch einen flmopf Aufruf erfolgen soll oder nicht 0 kein flmopf Aufruf sonst fImopf Aufruf folgt In diesem Argument wird die L nge des Bereichs f r den Namen der zu ffnenden FLAMFILE bergeben und die tats chliche L nge des Namens zur ckgegeben 4 17 2014 by limes datentechnik gmbh Die Satzschnittstelle filename organization record format record_size record _delimiter key_description block_size close_disposition Kapitel 4 Dieses Argument ist der Bereich in dem der Name der zu ffnenden FLAMFILE zur ckgegeben wird In diesem Argument wird ein Code f r die Dateiorganisation der zu ffnenden FLAMFILE bergeben bzw zur ckgegeben Die m glichen Werte sind 0 sequentiell Impliziter Wert bei der Komp
125. mopn gesetzt und darf bis zum flmcls nicht ver ndert werden In diesem Argument wird ein Returncode an das aufrufende Programm zur ckgegeben In diesem Argument wird die aktuelle Zeit in Einheiten von Sekunden zur ckgegeben Falls mit flmopn die Statistik eingeschaltet wurde statistics 0 wird in diesem Argument die Anzahl der mit fImput bergebenen bzw mit fImget bernommenen dekomprimierten S tze zur ckgegeben Die in diesem Z hler kumulierten Werte sind nur bei Verarbeitung vollst ndiger Dateien signifikant Falls mit flmopn die Statistik eingeschaltet wurde statistics 0 wird in diesem Argument die Anzahl der Bytes in den mit flmput bergebenen bzw mit fImget bernommenen dekomprimierten S tze zur ckgegeben Die in diesem Z hler kumulierten Werte sind nur bei Verarbeitung vollst ndiger Dateien signifikant bersteigt der im Argument bytes kumulierte Wert 2 000 000 000 so wird dieser Z hler f r die Vielfachen von 2 000 000 000 benutzt 4 104 104 104 104 104 104 10 FLAM V4 3 UNIX Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Kapitel 4 cmprecs cmpbytes cmpbytofl Abh ngigkeiten Returncodes FLAM V4 3 UNIX Frankenstein Limes Access Method Die Satzschnittstelle Falls mit flmopn die Statistik eingeschaltet wurde statistics 0 wird in diesem Argument die Anzahl bei der Komprimierung erzeugter bzw bei der Dekomprimierung gelesener Komprimatss tze zu
126. mp header amp sanz amp keydesco amp blkmode exk20 exd20 if rc FLAM_NORMAL closinput rc infile File Header ausgeben namlen strlen oname orgao FLAM_C_ORG_SEQ Organisation seq recfo FLAM_C_RECFRM_STREAM Satzformat stream Textdatei recso 0 blkso 0 prctrl FLAM_C_PRINT_CTRL_NONE system 0 FLAM_C_SYSTEM_COMP Computer Prozessor system 1 FLAM_C_SYSTEM_OS Betriebssystem flmphd amp flmid amp rc amp namlen oname amp orgao amp recfo amp recso recdelo c amp keydesco amp blkso amp prctrl system amp lstpar if rc FLAM_NORMAL closfiles rc infile amp flmid anwenderspez File Header ausgeben 7 127 127 127 127 127 127 12 FLAM V4 3 UNIX Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Kapitel 7 Anwendungsbeispiele uattrlen strlen usrattr flmpuh amp flmid amp rc amp uattrlen usrattr if rc FLAM_NORMAL closfiles rc infile amp flmid Datei lesen und komprimieren il FLAM_NORMAL ptr fgets datrec 2048 infile if ptr NULL if errno 0 il FLAM_EOF else rc errno FLAM_IO closfiles rc infile amp flmid while il FLAM_NORMAL reclength strlen datrec 1 Komprimat ausgeben flmput amp flmid amp rc amp reclength datrec if rc FLAM_NORMAL closfiles rc infile amp flmid Originaldatei lesen ptr fgets
127. n Enth lt die Ausgabespezifikation mehr als eine Datei sind die in Kapitel 2 4 2 und 2 4 3 angegebenen Regeln zur Syntax und Zuordnung zu den Angaben der FLAMFILE zu beachten 2 18 FLAM V4 3 UNIX 2014 by limes datentechnik gmbh Kapitel 2 inrecdelim Syntax Werte Beschreibung FLAM V4 3 UNIX Frankenstein Limes Access Method Das Kommando flam Dieser Parameter gibt ein Satztrennzeichen f r Originaldateien an inrecdelim Satztrennzeichen Satztrennzeichen Hexadezimale Zeichen zwischen 01 und ff die L nge kann 1 oder 2 Byte sein Mit diesem Parameter wird das Satztrennzeichen einer Originaldatei mit Satzformat stream angegeben Bei Satzformat stream ohne Angabe des Satztrennzeichens werden OxOa und Ox0Od0Oa als Satzende interpretiert Soll nur Ox0a als Satzende gelten muss inrecdelim 0a angegeben werden um ein 0x0d vor einem Ox0a nicht als Teil der Satztrennzeichen sondern als Teil der Daten zu interpretieren Soll eine Datei nur die Satztrennzeichen 0x0d0a enthalten muss inrecdelim 0d0a angegeben werden um alleinstehende Zeichen 0x0a als Teil der Daten zu erkennen Es sind nicht nur Ox0a und 0x0d0Oa als Satztrennzeichen sondern auch beliebige andere Zeichenkombinationen erlaubt 2 19 2014 by limes datentechnik gmbh Das Kommando flam inrecformat Syntax Werte Formatoption eaf fix stream undefined variable var_2b var2b_data var_4b var_ascii var_ebcdic
128. n Modi aes flamenc basieren auf diesem Kompressionsverfahren mode aes bewirkt eine Komprimierung im adc Modus mit AES Verschl sselung Die Angabe eines Kennworts mittels des password Parameters oder eines Benutzerausgangs mittels des kmexit Parameters ist obligatorisch mode flamenc bewirkt eine Komprimierung im adc Modus mit FLAM Verschl sselung d i das in FLAM Version 3 verwendete propriet re Verschl sselungsverfahren Die Eingabe eines Kennworts mittels des password Parameters oder eines Benutzerausgangs mittels des kmexit Parameters ist obligatorisch Mit mode cx7 wird die Eingabedatei im cx7 Modus komprimiert und eine zeichencodierte FLAMFILE erzeugt In diesem Modus sollten jedoch nur Dateien komprimiert werden die ausschlie lich druckbare Zeichen enthalten Dieser Modus ist etwas weniger effizient die erzeugte FLAMFILE kann aber ohne Informationsverlust in andere Zeichencodes bersetzt werden etwa von ASCII nach EBCDIC Mit mode cx8 bzw mode vr8 wird die Eingabedatei im cx8 bzw vr8 Modus komprimiert und eine bin re FLAMFILE erzeugt Diese beiden Modi dienen zur Wahrung der Kompatiblit t mit lteren FLAM Versionen und sind i d R nicht so effizient wie der adc Modus Die Eingabedatei wird mit dem angegebenen FLAM Modus komprimiert und falls ein Kennwort mittels password oder kmexit Parameter verf gbar gemacht wird mit dem gew hlten Verfahren verschl sselt Wird als Modus adc angegeben wird
129. n Puffergr en finden sich bei der Beschreibung des Parameters maxbuffer im Abschnitt Das Kommando flam Impliziter Wert bei der Komprimierung 32 Kbytes In diesem Argument wird bei der Dekomprimierung die Information zur ckgegeben ob die FLAMFILE einen FLAM Fileheader enth lt oder nicht Hiervon h ngt ab ob ein anschlie Bender fImghd Aufruf sinnvoll ist Bei der Komprimierung wird dieses Argument nicht benutzt 0 kein FLAM Fileheader 1 FLAM Fileheader vorhanden Impliziter Wert bei der Komprimierung 0 4 21 Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Die Satzschnittstelle max_records key_description block_mode exitroutine_comp exitroutine_decomp Abh ngigkeiten Kapitel 4 In diesem Argument wird beim Komprimieren die zu benutzende Satzanzahl pro Matrix vorgegeben Bei der Dekomprimierung wird diese Information zur ckgegeben Impliziter Wert bei der Komprimierung 255 Dieses Argument gibt den Speicherbereich an in dem f r eine indexsequentielle Originaldatei die Beschreibung des Schl ssels bergeben bzw zur ckgegeben wird Dieses Argument ist f r k nftige Erweiterungen reserviert Dieses Argument ist f r k nftige Erweiterungen reserviert Dieses Argument enth lt den Namen eines Benutzerausgangs also eines ausf hrbaren Programms das beim Komprimieren bei jedem FLAMFILE Zugriff aufgerufen wird Dieses Programm muss als C Funktion mit dem Namen exk2
130. n wird der ersten Ausgabespezifikation zugeordnet die zweite Eingabespezifikation der zweiten Ausgabespezifikation usw Wurden mehr Ein als Ausgabespezifikationen angegeben so werden die berz hligen Eingabespezifikation der letzten Ausgabespezifikation zugeordnet berz hlige Ausgabespezifikationen werden ignoriert Ist die Ausgabespezifikation eine Dateispezifikation so werden s mtliche Ausgaben aus der Verarbeitung der ihr zugeordneten Eingabedateien in dieser Datei abgelegt 2 50 FLAM V4 3 UNIX 2014 by limes datentechnik gmbh Kapitel 2 FLAM V4 3 UNIX Frankenstein Limes Access Method Das Kommando flam Hierbei ist auf die Vertr glichkeit der Dateiattribute zu achten Wird als Ausgabespezifikation eine Substitutionsvorschrift angegeben so wird bei der Komprimierung zu jeder der zugeordneten Eingabedateien eine separate FLAMFILE erzeugt die entsprechend der Substitutionsvorschrift benannt wird Bei der Dekomprimierung wird die Substitutionsvorschrift auf die Namen der FLAMFILEs nicht auf die Namen der komprimierten Originaldateien angewendet D h aus jeder FLAMFILE die dem Auswahlmuster entspricht resultiert eine dekomprimierte Datei Ist einer FLAMFILE die Komprimate mehrerer Dateien enth lt eine Ausgabedatei zugeordnet so werden s mtliche in der FLAMFILE enthaltenen Komprimate in diese Ausgabedatei dekomprimiert Sollen wieder einzelne Dateien erzeugt werden muss eine der Ausgabespezifikat
131. ndenen Codetabellen benutzt werden wird ale f r die Konvertierung von ASCII nach EBCDIC e a f r die Konvertierung von EBCDIC nach ASCII angegeben 2 47 2014 by limes datentechnik gmbh Das Kommando flam 2 482 482 482 482 482 48 Frankenstein Limes Access Method Kapitel 2 2 4 Dateispezifikationen Bei den Dateispezifikationen werden Eingabe und Ausgabespezifikationen unterschieden Bei der Komprimierung wird die Eingabespezifikation Originaldatei mit flamin die Ausgabespezifikation Komprimatsdatei mit flamfile angegeben Bei der Dekomprimierung wird die Eingabespezifikation Komprimatsdatei mit flamfile die Ausgabespezifikation dekomprimierte Datei mit flamout angegeben 2 4 1 Eingabespezifikation Die Eingabespezifikation kann aus einem Datei oder Verzeichnisnamen einem Suchmuster mit Wildcards oder einer Liste dieser Elemente bestehen In einer Liste werden die einzelnen Elemente durch Kommata getrennt Dateinamen d rfen auch Leerzeichen enthalten nicht jedoch als erstes Zeichen Dateinamen die Leerzeichen enthalten m ssen in Anf hrungszeichen eingeschlossen sein Als Eingabedateien m ssen spezifizierte Dateien existieren Zu Mustern muss mindestens eine passende Datei existieren Andernfalls bricht die Ausf hrung des flam Kommandos unter Ausgabe einer entsprechenden Fehlermeldung ab Werden mit der Eingabespezifikation Dateien f r die Verarbeitung durch FLAM vorgegeben muss der
132. ngabe 2 gt gt Dateiname auf eine Datei umgelenkt werden Hingegen werden bei Angabe von msgfile Dateiname die FLAM Meldungen in eine Datei geschrieben w hrend Systemmeldungen weiterhin am Bildschirm erscheinen 2 46 FLAM V4 3 UNIX 2014 by limes datentechnik gmbh Kapitel 2 translate Syntax Werte Beschreibung FLAM V4 3 UNIX Frankenstein Limes Access Method Das Kommando flam Dieser Parameter bewirkt eine Code bersetzung der Daten der Originaldatei vor der Komprimierung oder der Daten der dekomprimierten Datei nach ihrer Dekomprimierung translate Codetabelle Codetabelle Spezifikation einer Datei die die Codetabelle enth lt Die Codetabelle ist eine Zeichenkette von 256 Zeichen des Zeichensatzes in den die Daten bersetzt werden sollen N heres ber die Codetabelle siehe im Anhang B Codetabellen Wird translate Codetabelle bei der Komprimierung angegeben so wird jeder Satz der Originaldatei vor der Zwischenspeicherung in den Matrixpuffer gem der spezifizierten Codetabelle bersetzt Bei der Dekomprimierung bewirkt diese Angabe dass jeder dekomprimierte Satz entsprechend der Codetabelle bersetzt wird ehe er in die dekomprimierte Datei eingef gt wird Standardm ig werden mit der Installation von FLAM Codetabellen f r de bersetzung von ASCII nach EBCDIC und f r die bersetzung von EBCDIC nach ASCII zur Verf gung gestellt Soll eine der in der Defaultwerte Datei vorha
133. ngszyklen dem Abschluss Funktion flmcls Die Open Sequenz beginnt immer mit dem Aufruf der Funktion flmopn Im Anschluss daran k nnen die Funktionen flmopd und oder flmopf aufgerufen werden wenn in flmopn der Parameter continue_param gesetzt wurde Bei Aufruf beider Funktionen muss flmopd zuerst erfolgen und auch hier der Parameter continue_param gesetzt sein Werden flmopd oder flmopf von der Anwendung nicht aufgerufen erzeugt FLAM intern entsprechende Aufrufe mit den impliziten Einstellungen Die f r das flam Kommando und das Unterprogramm flamup einstellbaren Defaultwerte sind hier nicht wirksam Schlie lich muss falls verschl sselt werden soll mit dem Aufruf von flImpwd das Kennwort bergeben werden In der zweiten Phase der Verarbeitung wird f r jede zu komprimierende Originaldatei ein Komprimierungszyklus durchlaufen In der Regel muss ein solcher Zyklus mit einem flmphd Aufruf beginnen wodurch ein allgemeiner FLAM Fileheader erzeugt wird Lediglich wenn eine einzelne Originaldatei ohne Verschl sselung komprimiert wird ist dieser Aufruf optional Wurde ein FLAM Fileheader erzeugt kann durch Aufruf von flmpuh ein anwenderspezifischer Header angeh ngt werden Bei Secure FLAMFILEs ist dieser Aufruf obligatorisch ggf mit Headerl nge 0 Nun k nnen Daten zur Komprimierung bergeben werden durch wiederholte Aufrufe von flmput Jeder Aufruf von fImput bergibt einen Satz im Sinne von FLAM der auf Grund de
134. nzelnen FLAMFILE in eine einzige Datei dekomprimiert werden Wurde mit attributes all komprimiert kann mit flam decompress flamfile t cmp flamout dekomprimiert werden um die dekomprimierten Dateien mit den Originalnamen und attributen zu erzeugen 7 4 Verwendung einer Parameterdatei Die Parameter f r FLAM k nnen nicht nur ber das Kommando angegeben werden Sie k nnen auch in einer Parameterdatei stehen die im Kommando angegeben wird flam parfile param dat Die Datei param dat enth lt die Parameter F r die Komprimierung flamin test dat flamfile test cmp comp F r die Dekomprimierung flamfile test cmp flamout test dat decomp 7 5 2014 by limes datentechnik gmbh Anwendungsbeispiele 7 67 67 67 67 67 6 Frankenstein Limes Access Method Kapitel 7 75 Verwendung der Unterprogramm schnittstelle Dateien k nnen in einem Anwenderprogramm ber die Unterprogrammschnittstelle flamup komprimiert und dekomprimiert werden Der Aufruf in einem C Anwenderprogramm lautet flamup id rc par_string parlen id ist die Adresse eines 4 Byte langen Feldes rc ist die Adresse eines 4 Byte langen numerischen Feldes das nach Ablauf von flamup den Returncode enth lt par_string ist die Adresse eines Strings der die Parameter enth lt parlen ist die Adresse eines 4 Byte langen numerischen Feldes das die L nge von par_string enth lt par_string enth lt z B flamin test dat flamfile t
135. ohen Anforderungen an die kryptographische Sicherheit wurden f r verschl sselte FLAMFILEs weitere Sicherheitsmerkmale implementiert die die Daten auch gegen Angriffe anderer Art besser sch tzen Mit diesen Sicherheitsmerkmalen versehene FLAMFILEs heissen Secure FLAMFILES Die neuen Schutzmechanismen wirken auf drei Ebenen e der Segment Ebene e der Member Ebene und e der File Ebene Dabei bezeichnet Segment das Komprimat einer einzelnen Matrix und Member die Gesamtheit der FLAM V4 3 UNIX 2014 by limes datentechnik gmbh Kapitel 1 FLAM V4 3 UNIX Frankenstein Limes Access Method FLAM im berblick Segmente die das Komprimat einer Originaldatei enthalten In einer Secure FLAMFILE werden sowohl f r jedes Member als auch f r die FLAMFILE insgesamt Z hler f r die unkomprimierten und die komprimierten Bytes und S tze fortlaufende Nummern und ein Zeitstempel mitgef hrt Bei Verschl sselung mit AES werden so genannte MACs Message Authentication Codes berechnet Dies sind mit Schl sseln versehene Pr fsummen die zur Verifizierung der Authentizit t der Daten dienen F r jedes Segment wird ein solcher Segment MAC ermittelt Ein weiterer MAC der mit den entsprechenden MACs der vorangehenden Segmente verkettet ist sichert die Vollst ndigkeit der Segmente im Member ab Auf gleiche Weise wird durch eine weitere MAC Kette die Vollst ndigkeit der Member im File sichergestellt hnliche Merkmale haben a
136. olgenden Abschnitten werden die Parameter die bei der jeweiligen Funktion erlaubt sind angegeben Die detallierte Beschreibung aller Parameter in alphabetischer Reihenfolge finden Sie im Abschnitt 2 3 In diesem Handbuch wurde der besseren bersicht halber allen Parametern ein Minuszeichen vorangestellt Seine Verwendung ist optional Erl uterung zur Schreibweise In den Syntaxbeschreibungen auf auf dieser und den folgenden Seiten sind die in eckigen Klammern gesetzten Syntaxelemente im jeweiligen Kontext optional Kursiv dargestellte Kommando Bestandteile sind vom Benutzer durch aktuelle Werte aus dem jeweiligen Wertebereich zu ersetzen Auslassungszeichen deuten Wiederholungen des Vorhergehenden an 2 4 FLAM V4 3 UNIX 2014 by limes datentechnik gmbh Kapitel 2 Syntax FLAM V4 3 UNIX Frankenstein Limes Access Method Das Kommando flam 2 2 1 FLAM Komprimierung FLAM compress parameter Werf attributes Attributoption flamcode Zeichensatz flamfile Dateispezifikation flamin Dateispezifikation inrecdelim Satztrennzeichen inrecformat Satzformat inrecsize N kmexit Exitangaben maxbuffer n maxrecords n msgfile Meldungsdatei mode Komprimierungsmodus ndc nopath parfile Parameterdatei password Kennwort recdelim Satztrennzeichen recformat Satzformat recsize n show Anzeigeoption translate Codetabelle 2 5 2014 by lime
137. omprimierbarkeit von vornherein feststeht ist kann die Verarbeitung durch mit diesem Parameter beschleunigt werden der die Kompression unterbindet In Verbindung mit den Modi aes und flamenc werden die Daten lediglich verschl sselt mit mode adc bewirkt dieser Parameter dass FLAM die Daten lediglich kopiert Bei allen anderen Modi hat ndc keinerlei Wirkung Mit ndc erzeugte Komprimate sind in jedem Fall Secure FLAMFILEs und werden bei der Dekomprimierung als adc Komprimate ausgewiesen ndc kann nicht als Standardwert eingestellt werden 2 30 FLAM V4 3 UNIX 2014 by limes datentechnik gmbh Kapitel 2 nopath Syntax Werte Beschreibung FLAM V4 3 UNIX Frankenstein Limes Access Method Das Kommando flam Dieser Parameter bewirkt dass die Komprimatsdatei den Namen der Originaldatei ohne Pfad enth lt nopath keine In der Regel tr gt FLAM beim Koprimieren den Namen der Originaldatei einschlie lich des vollst ndigen Pfads in den Fileheader ein Beim Dekomprimieren auf Systemen mit anderer Verzeichnisstruktur oder anderen Syntaxregeln f r Dateinamen kann es dadurch zu Problemen kommen wenn versucht wird den kompletten Namen zu bernehmen Mit nopath wird die Pfadinformation des Originalnamen ausgeblendet und nur der reine Dateiname eingetragen Beim Dekomprimieren von mit nopath komprimierten Dateien hat flamout dieselbe Wirkung wie flamout nopath kann nicht als Standardwe
138. p lstpar amp opmode kname amp statis if rc PLAN NORMAL put_flmsg rc exit rc Angaben zur Komprimatsdatei il 100 cldispk FLAM_C_CLOSE_REWIND close disposition flmopd amp flmid amp rc amp lstpar amp il kname amp orgak amp recfk amp recsk recdelk c amp keydesck amp blksk amp cldispk amp devk if rc FLAM_NORMAL put_flmsg rc exit rc Angaben zur Komprimierung header FLAM_C_FILEHEADER File Header lesen keydesco keyparts 0 exk20 0 keine Exitroutine exd20 0 flmopf amp flmid amp rc amp version amp flcode amp modus amp maxb amp header amp sanz amp keydescd amp blkmode exk20 exd20 if rc FLAM_NORMAL put_flmsg rc exit rc Fileheader lesen allgemeine Informationen namlen 100 flmghd amp flmid amp rc amp namlen oname amp orgao amp recfo amp recso recdelo c amp keydesco amp blkso amp prctrl system if rc FLAM_NORMAL amp amp rc FLAM_NO_FILEHEADER closflam rc amp flmid System VAX VMS if rc FLAM_NO_FILEHEADER anwenderspez Informationen uattrlen 1000 flmguh amp flmid amp rc amp uattrlen usrattr if rc FLAM_NORMAL amp amp rc ls FLAM_NO_FILEHEADER closflam rc amp flmid FLAM V4 3 UNIX 7 17 Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Anwen
139. pieren und auszugestalten dass das angestrebte Resultat mit diesem Funktionsvorrat erreicht werden kann Um benutzereigene Ein Ausgabe verwenden zu k nnen m ssen die entsprechenden Routinen mit dem Anwenderprogramm zusammengebunden werden Deshalb wird diese M glichkeit nur von den Programmschnittstellen aus unterst tzt d h von der Unterprogramm und der Satzschnittstelle Die Unterst tzung durch die Satzschnittstelle ber hrt nat rlich nur Zugriffe auf die FLAMFILE denn nur solche Zugriffe werden durch diese Schnittstelle ausgef hrt Benutzereigene Ein Ausgabe wird durch Aufruf von fImopd mit device 7 initiiert Bei der Unterprogrammschnittstelle kann ber die FLAM Parameter user _io inuser io und outuser io die benutzereigene Ein Ausgabe f r alle bei der Komprimierung bzw Dekomprimierung angesprochenen Dateien aktiviert werden W hrend bei den Funktionen der Satzschnittstelle die Beachtung gewisser Regeln hinsichtlich der Reihenfolge und Konsistenz der Aufrufe dem Programmierer obliegt wird das richtige Zusammenspiel der Funktionen der benutzereigenen Ein Ausgabe durch FLAM gew hrleistet bei dem die Initiative f r die Aufrufe liegt 1 141 141 141 141 141 141 14 FLAM V4 3 UNIX Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Kapitel 1 FLAM V4 3 UNIX Frankenstein Limes Access Method FLAM im berblick Der Programmierer der benutzereigenen Ein Ausgabe Routinen ist
140. primierte S tze k nnen aus einer FLAMFILE sequentiell gelesen werden Bei der komprimierten Ausgabe von Daten wird eine FLAMFILE neu erzeugt Eine FLAMFILE kann also entweder nur f r Lesezugriffe Dekomprimierung oder nur f r Schreibzugriffe Komprimierung ge ffnet werden Die Satzschnittstelle von FLAM besteht aus einer Klasse von Funktionen die es dem Anwenderprogramm u a gestatten auf komprimierte Daten so zuzugreifen und sie so zu verarbeiten wie dies mit unkomprimierten Daten durch gew hnliche Ein Ausgabebefehle geschieht Diese Funktionen sind so konzipiert dass ihre Benutzung hnlichen Regeln unterliegt wie sie f r die Standard Ein Ausgabe vorgegeben sind Nach dem ffnen der Datei k nnen S tze gelesen oder geschrieben werden und am Ende der Verarbeitung wird die Datei geschlossen Die im Zuge der Verarbeitung stattfindende Komprimierung bzw Dekomprimierung bleibt f r den Programmierer unsichtbar so dass die Benutzung der Satzschnittstelle gegen ber der Programmierung mit herk mmlichen Ein Ausgabebefehlen f r den Programmablauf kaum Unterschiede in der Programmlogik beinhaltet Durch Benutzung der Satzschnittstelle entf llt die Notwendigkeit die Komprimierung und Dekomprimierung der zu verarbeitenden Dateien als gesonderte Schritte nach bzw vor der Ausf hrung des Anwendungsprogramms auszuf hren Auch ist es nicht mehr erforderlich f r den tempor r erh hten Speicherplatzbedarf auf dem Massenspeic
141. r e Max Anzahl S tze Matrixpuffer Zeichensatz ASCII oder EBCDIC Verwendete Einstellung von attributes Name der Originaldatei Formatangaben f r die Originaldatei Name der Komprimatsdatei FLAMFILE Formatangaben der Komprimatsdatei Statistik Informationen siehe showsstatistics Fehler und Warnhinweise 2 44 FLAM V4 3 UNIX 2014 by limes datentechnik gmbh Kapitel 2 Anzeige Option attributes error FLAM V4 3 UNIX Frankenstein Limes Access Method Das Kommando flam Bedeutung Anzeige bei der Dekomprimierung FLAM Version FLAM Einstellungen Operation Dekomprimierung Komprimierungsmodus ggf Verschl sselungsverfahren Zeichencode ggf Codetabelle Name der Komprimatsdatei FLAMFILE Name der dekomprimierten Datei urspr nglicher Dateiname Formatangaben f r die dekomprimierte Datei Gespeicherte Komprimierungsinformationen siehe show attributes Statistik Informationen siehe show statistics Fehler und Warnhinweise nur bei Dekomprimierung Unterdr ckt die Erzeugung der dekomprimierten Datei Zeigt nur gespeicherte Komprimierungsinformationen an Name der Originaldatei nur wenn mit attributes all komprimiert wurde Formatangaben der Originaldatei Komprimierungsmodus ggf Verschl sselungsverfahren Zeichensatz ASCII oder EBCDIC System das die FLAMFILE erzeugt hat Zeigt nur Fehler und Warnhinweise 2 45 2014 by limes datentechnik gmbh Das Kommando flam statistics
142. r ckgegeben Dieser Wert ist nur bei der Verarbeitung vollst ndiger Dateien signifikant Falls mit flmopn die Statistik eingeschaltet wurde statistics 0 wird in diesem Argument die Anzahl bei der Komprimierung erzeugter bzw bei der Dekomprimierung gelesener Bytes zur ckgegeben Dieser Wert ist nur bei der Verarbeitung vollst ndiger Dateien signifikant bersteigt der im Argument cmpbytes kumulierte Wert 2 000 000 000 so wird dieser Z hler f r die Vielfachen von 2 000 000 000 benutzt Beim Komprimieren von Secure FLAMFILES darf flmflu nur nach flmpuh oder flmput ausgef hrt werden Beim Dekomprimieren von Secure FLAMFILES muss vor flmflu ein fImget fImghd oder fImguh aufgerufen werden Eine Beschreibung der Returncodes befindet sich in Anhang A Returncodes 4 11 2014 by limes datentechnik gmbh Die Satzschnittstelle fImget Syntax Argumente fImid returncode record _length record buffer_length Abh ngigkeiten Kapitel 4 Mit der Funktion flmget get record wird der jeweils n chste Originalsatz in sequentieller Folge gelesen Die Daten werden dabei in den Satzpuffer des aufrufenden Programms bertragen Die Erkennung eines Fileheaders wird ggf im Returncode signalisiert void flmget char flmid long returncode long record_length char record long buffer_length Der Feldinhalt von flmid ist ein Pointer auf einen Character String Dieses Argument identifiziert die FLAMFILE f
143. r von FLAM ebenfalls gespeicherten Strukturinformation bei der Dekomprimierung genau so oder auch mit anderen Satzattributen wiederhergestellt werden kann FLAM akkumuliert die bergebenen Daten im Komprimierungspuffer und steuert ohne Zutun der Anwendung die Komprimierung und die Ausgabe des Komprimats Zum Abschluss des Komprimierungszyklus muss flmflu aufgerufen werden um m glicherweise noch im Puffer befindliche S tze zu komprimieren und deren Komprimat 4 5 2014 by limes datentechnik gmbh Die Satzschnittstelle 4 64 64 64 6 4 64 64 6 Frankenstein Limes Access Method Kapitel 4 auszugeben Dabei gibt FLAM statistische Informationen an die Anwendung zur ck Jetzt kann entweder ein neuer Komprimierungszyklus durch Aufruf von flImphd begonnen oder durch Aufruf von fImcls die FLAMFILE geschlossen werden Das aufrufende Programm erh lt immer die Kontrolle zur ck Es gibt keine Fehlerausg nge und es werden von der Satzschnittstele auch keine Fehlermeldungen erzeugt sondern Returncodes an die Anwendung zur ckgegeben FLAM V4 3 UNIX 2014 by limes datentechnik gmbh Kapitel 4 Die Satzschnittstelle 4 3 Programmierung der Satzschnittstelle bei der Dekomprimierung Die Dekomprimierung einer FLAMFILE gliedert sich analog zur Komprimierung in die Phasen Open Sequenz Dekomprimierungszyklen Abschluss Funktion flmcls Hierbei besteht die Open Sequenz aus den gleichen Aufrufen wir bei der Komprimier
144. rammen die von allen Programmiersprachen in denen C Funktionen benutzt werden aufgerufen werden k nnen Bis auf die Schl sselbeschreibung die in einer sp teren Version benutzt wird sind alle Argumente durch elementare Datentypen long integer string dargestellt Die bergabe der Argumente erfolgt durch Pointer nicht als Werte Die Anmerkungen zur Notation in Abschnitt 1 5 Schnittstellen gelten auch hier Anwendungsprogramme die in C geschrieben werden k nnen die Anweisung include flamincl h enthalten Diese C Header Datei enth lt die Definitionen der symbolischen Konstanten und Returncodes sowie die Struktur f r die Schl sselbeschreibung F r Programme in anderen Programmiersprachen sind diese Definitionen sinngem zu bertragen Alle Argumentlisten beginnen einheitlich mit einer Kennung die zur eindeutigen Identifikation der Komprimatsdatei dient Dieses Argument flmid enth lt die von flmopn eingetragene Adresse des Arbeitsbereichs f r die jeweilige Komprimatsdatei und darf bis zum flmcls nicht ver ndert werden Alle brigen Argumente sind nur f r die Funktion von Interesse der sie bergeben werden Auch das Argument returncode ist in jeder Argumentliste enthalten und dient zur R ckmeldung der erfolgreichen Durchf hrung der jeweiligen Funktion bzw eines m glichen Fehlers Alle Codes und ihre Bedeutungen sind in Anhang A Returncodes aufgelistet ebenso die Bedeutung der zus tzlichen Informationen im h
145. rden Angaben niedrigerer Priorit t stets vollst ndig durch die h herer Priorit t berlagert d h es ist nicht m glich etwa eine Liste von Eingabespezifikationen teils im Kommando teils mittels Defaultwerten oder Angaben in der Parameterdatei anzugeben Die Liste im Kommando annulliert diejenige der niedrigeren Spezifikationsebene 2 53 2014 by limes datentechnik gmbh Das Kommando flam 2 542 542 542 542 542 54 Frankenstein Limes Access Method Kapitel 2 2 6 Die FLAM Parameterdatei Die Parameterdatei wird mit einem Texteditor bearbeitet und enth lt FLAM Parameter die eindeutig den Angaben in der Kommandozeile des flam Kommandos entsprechen Jeder FLAM Parameter besteht aus einem Schl sselwort gegebenenfalls mit einer Wertzuweisung oder einer Werteliste Die FLAM Parameter k nnen so angeordnet werden dass jede Zeile einen FLAM Parameter enth lt eine Zeile kann aber auch mehrere durch Kommata getrennte Parameter enthalten Kommentare sind erlaubt und beginnen mit einem Ende eines Kommentars ist das Zeilenende Die L nge einer Zeile der Parameterdatei darf 2 048 Bytes nicht bersteigen Das Beispiel illustriert die Verwendung einer Parameterdatei FLAM wird per Kommando aufgerufen FLAM parfile param FLAM Die Parameterdatei param flam enth lt folgende FLAM Parameter compress mode cx8 maxbuffer 128 flamin test dat flamfile flamfilel cmp attributes all recformat fixed recsize 1024
146. reibzugriffen wird er nach Abschluss der Verarbeitung durch FLAM und unmittelbar vor dem Schlie en bzw vor der Ausgabe aktiviert Der Benutzerausgang kann den betreffenden Satz auswerten oder manipulieren oder auch S tze einf gen und gibt anschlie end die Kontrolle zur ck an FLAM Zugleich erwartet FLAM vom Benutzerausgang ber einen Returncode Anweisungen wie die Verarbeitung fortzusetzen bzw ob sie evt aufgrund einer Fehlersituation abzubrechen ist Uber das Unterprogramm flamup k nnen Zugriffsexits sowohl f r FLAMFILEs als auch f r Original bzw dekomprimierte Dateien aktiviert werden Uber die Satzschnittstellenfunktionen k nnen nur Ausg nge f r Zugriffe auf die FLAMFILE aktiviert werden da die Original und die dekomprimierten Dateien dann nicht von FLAM gelesen oder beschrieben werden 6 3 2014 by limes datentechnik gmbh Die Benutzerausg nge 6 46 46 46 46 46 46 4 Frankenstein Limes Access Method Kapitel 6 FLAM besitzt folgende Zugriffsexits f r die Komprimierung exk10 Dieser wird nach jedem Lesen eines Satzes der Originaldatei aktiviert exk20 Dieser wird vor jedem Schreiben eines Satzes der FLAMFILE aktiviert FLAM besitzt folgende Zugriffsexits f r die Dekomprimierung exd10 Dieser wird vor jedem Schreiben eines Satzes der dekomprimierten Datei aktiviert exd20 Dieser wird nach jedem Lesen eines Satzes der FLAMFILE aktiviert Die Benutzerausg nge m ssen mit der Unterprogrammschn
147. reingaben vermieden werden wenn Einstellungen die von den installierten Defaultwerten abweichen h ufig ben tigt werden 1 5 2 Das Unterprogramm flamup Mit der Schnittstelle zum Unterprogramm flamup k nnen etwa dieselben Operationen wie mit dem Kommando flam aus einem Anwenderprogramm heraus ausgef hrt werden Diese Schnittstelle stellt dem Anwendungsprogrammierer denselben Funktionsumfang zur Verf gung wie dem Benutzer ausgenommen die Anzeige und Anderung von Defaulteinstellungen F r die erforderlichen Einstellungen werden hnlich wie bei der Parameterdatei FLAM Parameter verwendet Diese stehen hintereinander in einer ASCIl Zeichenkette die dem Unterprogramm als Argument bergeben wird Auch hier ist mit dem Parameter parfile Parameterdatei der Verweis auf eine Parameterdatei m glich F r fehlende Angaben werden dieselben Defaulteinstellungen verwendet wie beim Kommando flam Nach Beendigung der Ausf hrung von flamup erh lt das aufrufende Programm einen Returncode der den Erfolg des Aufrufs bzw die Fehlerursache anzeigt 1 121 121 121 121 121 121 12 FLAM V4 3 UNIX Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Kapitel 1 FLAM V4 3 UNIX Frankenstein Limes Access Method FLAM im berblick 1 5 3 Die Satzschnittstelle flamrec Mit Hilfe der Satzschnittstelle flamrec k nnen Dateiverarbeitung und komprimierung innerhalb eines Anwendungsprogramms integriert werden Dekom
148. rimierenden Dateien angegeben flamin Eingabespezifikation Eingabespezifikation Die Eingabespezifikation bezeichnet eine einzelne Datei ein Verzeichnis ein Suchmuster mit Wildcards oder oder eine aus solchen Elementen bestehende Liste durch Kommata getrennt Die angegebenen Dateien werden abh ngig von den weiteren Angaben des Kommandos komprimiert Ist ein Verzeichnis angegeben werden alle darin und ggf in dessen Unterverzeichnissen enthaltenen Dateien komprimiert Enth lt die Eingabespezifikation mehr als ein Element sind die in Kapitel 2 4 1 und 2 4 3 angegebenen Regeln zur Syntax und Zuordnung zu den Angaben f r die FLAMFILE zu beachten 2 17 Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Das Kommando flam flamout Syntax Werte Beschreibung 2 182 182 182 182 182 18 Frankenstein Limes Access Method Kapitel 2 Mit diesem Parameter werden die Namen der dekomprimierten Dateien angegeben flamout Ausgabespezifikation Ausgabespezifikation Die Ausgabespezifikation bezeichnet eine einzelne Datei ein Suchmuster mit Wildcards oder oder eine aus solchen Elementen bestehende Liste durch Kommata getrennt Sie kann auch aus einer Substitutionsvorschrift oder den speziellen Ausgabespezifikationen oder Dateiname bestehen vgl Abschnitt 2 4 Bei der Dekomprimierung werden in die angegebene n Datei en die dekomprimierten Daten der FLAMFILE s geschriebe
149. rimierung 0 In diesem Argument wird ein Code f r das Satzformat der zu ffnenden FLAMFILE bergeben bzw zur ckgegeben Die m glichen Werte sind 0 var bei mode adc cx8 vr8 1 fixed bei mode adc cx8 vr8 3 stream nur bei mode cx Impliziter Wert bei der Komprimierung 1 In diesem Argument wird die maximale Satzl nge der zu ffnenden FLAMFILE bergeben bzw zur ckgegeben Impliziter Wert bei der Komprimierung 512 Die L nge dieses Character Strings ist 4 Byte entsprechend einem long integer Der Aufbau des record_delimiter ist bei Funktion fImghd beschrieben Dieses Argument ist f r k nftige Erweiterungen reserviert Dieses Argument ist f r k nftige Erweiterungen reserviert Dieses Argument ist f r k nftige Erweiterungen reserviert device Dieses Argument dient zur Aktivierung der benutzereigenen Ein Ausgabe Diese Routinen m ssen anstelle der Ein Ausgabe Befehle zur Verf gung gestellt und in das Anwenderprogramm eingebunden werden 7 Benutzer Ein Ausgabe sonst Standard Impliziter Wert bei der Komprimierung 0 4 184 184 184 184 184 184 18 FLAM V4 3 UNIX Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Kapitel 4 Abh ngigkeiten Returncodes FLAM V4 3 UNIX Frankenstein Limes Access Method Die Satzschnittstelle fImopd ist nur nach einem flmopf Aufruf mit continue _pa ram 0 zul ssig Auch fImopd selbst muss mit continue _ param 0 aufger
150. ring Dieses Argument identifiziert die FLAMFILE f r die die Funktion auszuf hren ist Es wird durch die Funktion fImopn gesetzt und darf bis zum flmcls nicht ver ndert werden In diesem Argument wird ein Returncode an das aufrufende Programm zur ckgegeben Dieses Argument enth lt die Satzl nge in Bytes Dieses Argument ist der Satzpuffer fImput darf nur beim Komprimieren benutzt werden Eine Beschreibung der Returncodes befindet sich in Anhang A Returncodes 4 29 2014 by limes datentechnik gmbh Die Satzschnittstelle fImpwd Syntax Argumente fImid returncode pwd _length pwd Abh ngigkeiten Kapitel 4 Mit der Funktion flmpwd password wird beim Komprimieren ein Kennwort zum Ver beim Dekomprimieren zum Entschl sseln der Komprimatsdaten bergeben void fImpwd char flmid long returncode long pwd _length char pwd Der Feldinhalt von flmid ist ein Pointer auf einen Character String Dieses Argument identifiziert die FLAMFILE f r die die Funktion auszuf hren ist Es wird durch die Funktion fImopn gesetzt und darf bis zum flmcls nicht ver ndert werden In diesem Argument wird ein Returncode an das aufrufende Programm zur ckgegeben Dieses Argument enth lt die L nge des Kennworts in Bytes Dieses Argument ist der Puffer der das Kennwort enth lt fImpwd darf nur bei Ver Entschl sselung verwendet werden Returncodes Eine Beschreibung der Returncodes befindet sich
151. rt eingestellt werden 2 31 2014 by limes datentechnik gmbh Das Kommando flam option Syntax Werte Flam Option cut nocut suppress nosuppress Beschreibung 2 322 322 322 322 322 32 Frankenstein Limes Access Method Kapitel 2 Dieser Parameter steuert das Verhalten von FLAM bei der Ausgabe dekomprimierter S tze option FLAM Option Bedeutung S tze mit einer Satzl nge die gr er ist als die maximale Satzl nge werden verk rzt S tze mit einer Satzl nge die gr er ist als die maximale Satzl nge werden nicht verk rzt Leerzeichen am Satzende werden unterdr ckt Leerzeichen am Satzende werden nicht unterdr ckt Bei der Dekomprimierung k nnen Satzformat und Satzl nge der dekomprimierten Datei explizit so vorgegeben oder von Vorversionen bernommen werden dass die maximale Satzl nge k rzer ist als in der Originaldatei Mit der Option cut wird die Dekomprimierung fortgesetzt wobei berlange S tze auf die maximale L nge abgeschnitten werden Mit nocut wird die Dekomprimierung mit einem Fehlerhinweis abgebrochen Wird bei der Dekomprimierung die dekomprimierte Datei mit dem Satzformat stream geschrieben k nnen mit suppress Leerzeichen am Satzende unterdr ckt werden Mit nosuppress werden sie geschrieben 2 32 FLAM V4 3 UNIX 2014 by limes datentechnik gmbh Kapitel 2 outpath Syntax Werte Beschreibung FLAM V4 3 UNIX Frankenstein Limes Access
152. s position kann beim Dekomprimieren bis zum Ende der Daten einer Originaldatei positioniert werden um den Fileheader der n chsten Datei zu lesen void fImpos char flmid long returncode long position Der Feldinhalt von flmid ist ein Pointer auf einen Character String Dieses Argument identifiziert die FLAMFILE f r die die Funktion auszuf hren ist Es wird durch die Funktion fImopn gesetzt und darf bis zum flmcls nicht ver ndert werden In diesem Argument wird ein Returncode an das aufrufende Programm zur ckgegeben In diesem Argument wird beim Dekomprimieren mit 99 999 998 auf das Ende der Daten einer Originaldatei positioniert also auf den n chsten FLAM Fileheader bzw das Dateiende der FLAMFILE fImpos darf nur beim Dekomprimieren benutzt werden Eine Beschreibung der Returncodes befindet sich in Anhang A Returncodes 4 27 2014 by limes datentechnik gmbh Die Satzschnittstelle fImpuh Syntax Argumente fImid returncode user_attr_length user_attributes Abh ngigkeiten Kapitel 4 Mit der Funktion fImpuh put user header k nnen in der FLAMFILE weitere Informationen beliebiger Struktur gespeichert werden Diese werden als Zeichenkette eingef gt und k nnen bei der Dekomprimierung mit der Komplement rfunktion fImguh verf gbar gemacht werden Die Funktion fImpuh ist nur bei der Komprimierung und nur unmittelbar nach einem Aufruf von fImphd zul ssig void fImpuh char flmid
153. s Satzformat der Originaldatei zur ckgegeben Die m glichen Werte und ihre Bedeutungen die teilweise Satzformate kennzeichnen die unter UNIX nicht existieren sind 0 variable 1 fixed 2 undefined 3 stream 8 var blocked 9 fix blocked 16 var blocked spanned 17 fix blocked Standard 18 eaf 24 vfc 32 var Ab 40 var_ascii 48 var _ebcedic In diesem Argument wird die Satzl nge der Originaldatei zur ckgegeben Der Wert 0 wird bei variablen Satzl ngen und bei Satzformat stream gesetzt In diesem Argument wird bei Satzformat stream das Satztrennzeichen angegeben Die L nge dieses Character Strings ist 4 Byte entsprechend einem long integer record _delimiter hat folgenden Aufbau Im h chstwertigen Byte steht die Anzahl der Bytes Bei Anzahl der Bytes 1 steht im niedrigstwertigen Byte das Satztrennzeichen Bei Anzahl Bytes 2 steht im zweitniedrigstwertigen Byte das 1 im niedrigstwertigen Byte das 2 Byte des Satztrennzeichens z B 0x0100000a Satztrennzeichen LF 0x0a 0x02000d0a Satztrennzeichen CHILE 0x0d0a Dieses Argument ist f r k nftige Erweiterungen reserviert Dieses Argument ist f r k nftige Erweiterungen reserviert Dieses Argument ist f r k nftige Erweiterungen reserviert FLAM V4 3 UNIX Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Kapitel 4 system Abh ngigkeiten Returncodes FLAM V4 3 UNIX Frankenstein Limes Access Method Die Satzschnittstelle
154. s datentechnik gmbh Das Kommando flam Syntax 2 62 62 62 62 62 6 Frankenstein Limes Access Method Kapitel 2 2 2 2 FLAM Dekomprimierung FLAM decompress parameter Werf flamfile Dateispezifikation flamout Dateispezifikation kmexit Exitangaben msgfile Meldungsdatei option Flamoption outpath Ausgabeverzeichnis outrecdelim Satztrennzeichen outrecformat Satzformat outrecsize n pad_char F llzeichen parfile Parameterdatei password Kennwort show Anzeigeoption translate Codetabelle 2 6 FLAM V4 3 UNIX 2014 by limes datentechnik gmbh Kapitel 2 Das Kommando flam Syntax Syntax FLAM V4 3 UNIX 2 2 3 Anzeigen der FLAM Defaultwerten FLAM list Listspezifikation Siehe Beschreibung des Parameters list 2 2 4 Einstellung der FLAM Defaultwerte FLAM defaults Defaultspezifikation Dieser Aufruf darf nur vom Systemmanager benutzt werden Siehe Beschreibung des Parameters default 2 3 Parameter des flam Kommandos Im folgenden Teil werden die Parameter von FLAM unabh ngig davon in welcher Funktion sie benutzt werden k nnen in alphabetischer Reihenfolge beschrieben 2 7 Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Das Kommando flam attributes Syntax Werte Attributoption none common all Beschreibung 2 82 82 82 82 82 8 Frankenstein Limes Access Method Kapitel 2 Dieser Parameter bewir
155. sbeispiele if po 0x00 po amp string 0 while po 0x00 ppt port Lett else po do ppt is while po eg amp string 0 po ppt is if po Pott while po 0x00 t if po ppt pott ist else 10 9 if po Pott else pp Pott Lett if pp 1 PP 1S pp is ppt Lett WM DER if is 0 sappi 55t y is 7 87 87 87 87 87 8 ZS amp amp po Parameter ohne Listen nach Parameterstring Parameter mit Liste di d2 d1 d2 d1 d2 nach Parameterstring En SE po I TI I rr FLAM V4 3 UNIX Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Kapitel 7 Anwendungsbeispiele Aufruf flamup flamup amp id amp retco parstring amp is put_flmsg retco Ausgabe des Returncodes exit retco FLAM V4 3 UNIX 7 9 Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Anwendungsbeispiele 7 6 7 6 1 Kapitel 7 Verwendung der Satzschnittstelle Komprimieren einer Datei In einem Anwenderprogramm werden Datens tze gelesen und an die Satzschnittstelle von FLAM zur Komprimierung bergeben Die Informationen ber die Originaldatei und vom Anwender erzeugte Informationen werden im Filehead
156. stellen von Anwenderprogrammen aus aufgerufen werden Obwohl FLAM beliebige Dateitypen komprimieren kann ist es urspr nglich konzipiert f r Dateien mit weitgehend einheitlicher Satzstruktur und zeichencodierten Daten In diesem Bereich erzielt es eine besonders hohe Effizienz Die genannten Voraussetzungen sind meistens gegeben wenn die verarbeitenden Anwenderprogramme in einer h heren Programmiersprache geschrieben sind Dieses Kapitel soll dem Benutzer bei der Entscheidung helfen wann und wie FLAM sinnvoll und mit gr tm glichem Nutzen eingesetzt werden kann Beim Kommando flam k nnen die erforderlichen Angaben als Parameter in der Kommandozeile oder als FLAM Parameter in einer Parameterdatei enthalten sein auf die mit dem Parameter parfile parameterfile verwiesen wird In Kapitel 2 Das Kommando flam wird hierauf n her eingegangen Sofern auf Unterschiede nicht ausdr cklich hingewiesen wird gilt f r dieses Kapitel generell dass alle Erl uterungen ber die Verwendung der Parameter im Kommando gleich der in der Parameterdatei sind ohne dass dies einer besonderen Erw hnung bedarf FLAM im berblick 1 41 41 41 41 41 41 4 Frankenstein Limes Access Method Kapitel 1 1 1 Arbeitsweise Bei der Komprimierung einer Datei mit FLAM wird eine oder mehrere Originaldatei en satzweise gelesen und eine ggf verschl sselte Komprimatsdatei erzeugt die sog FLAMFILE Bei der Dekomprimierung einer Datei mit FLAM wird di
157. tein Limes Access Method Returncodes Bedeutung Unbekannter Parameter Qualifizierer Symbolischer Name Bedeutung FLAM_PARAMETER_VALUE Bedeutung Ung ltiger Parameterwert FLAM_SAME_NAME Bedeutung Gleicher Name f r Eingabe und Ausgabe datei FLAM_NO_INPUT_FILE Bedeutung Kein Name f r Eingabedatei FLAM_NO_OUTPUT_FILE Bedeutung Kein Name f r Ausgabedatei FLAM_QUALIFIER_VALUE Bedeutung Ung ltiger Wert eines Qualifizierers FLAM_NO_REPLACING_CHARACTERS Bedeutung Name der Eingabedatei enth lt keine zu ersetzenden Zeichen FLAM _READ_ERROR Bedeutung Beim Lesen eines Satzes ist ein Fehler aufgetreten FLAM_WRITE_ERROR Bedeutung Beim Schreiben eines Satzes ist ein Fehler aufgetreten FLAM_NOT_ALL_INPUT_FILES Bedeutung Nicht alle Eingabedateien wurden bearbeitet FLAM_ANZ_OUTFILE_GR_INFILE Bedeutung Die Anzahl der Ausgabedateien sind gr er als die Anzahl Eingabedateien A 7 2014 by limes datentechnik gmbh Returncodes Anhang A A 8A 8A 8A 8A 8A 8 A 8 FLAM V4 3 UNIX Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Anhang A Returncodes Returncode 271 272 351 352 354 355 356 357 360 401 FLAM V4 3 UNIX Symbolischer Name Bedeutung FLAM_ERR_BAD_KMEXIT Bedeutung Fehlerhafte Angabe des Key Management Exits FLAM_ERR_KMEX1 Bedeutung Fehler beim Laden des Key Management Exits FLAM_SEC_ERR_351 Bedeutun
158. ter ascii_ebcedic und ebcedic_ascii Bei der Definition von Defaultwerten ist zu ber cksichtigen dass manche Einstellungen mittels Defaultwert vom Benutzer weder durch Eingaben in der Kommandozeile noch in der Parameterdatei ge ndert werden k nnen Dies ist z B bei defaults flamin der Fall wo zwar beim Aufruf von FLAM zum Komprimieren oder Dekomprimieren der Dateiname nderbar aber Eingabe von stdin nicht mehr m glich ist 2 14 FLAM V4 3 UNIX 2014 by limes datentechnik gmbh Kapitel 2 flamcode Syntax Werte Zeichensatz ascii ebcdic Beschreibung FLAM V4 3 UNIX Frankenstein Limes Access Method Das Kommando flam Dieser Parameter legt bei der Komprimierung den Zeichensatz f r zeichencodierte Informationen wie Dateinamen oder Steuerzeichen in der FLAMFILE fest flamcode Zeichensatz Bedeutung ASCII Code f r die FLAMFILE verwenden EBCDIC Code f r die FLAMFILE verwenden Dieser Parameter gibt bei der Komprimierung an in welchem Zeichensatz zeichencodierte Informationen in der FLAMFILE darzustellen sind Im adc cx8 und vr8 Modus betrifft dies nur Informationen im FLAM Fileheader wie etwa den Original Dateinamen und einige Steuerzeichen denn das Komprimat wird bin r dargestellt Im cx7 Modus werden auch alle FLAM Steuerzeichen des Komprimats in diesem Zeichensatz codiert In allen Modi bleiben hingegen die aus den Originaldaten bernommenen Zeichen un bersetzt Ihre bersetz
159. tialisiert 6 9 2014 by limes datentechnik gmbh Die Benutzerausg nge Returncodes Wert 12 16 6 106 106 106 106 106 106 10 Frankenstein Limes Access Method Kapitel 6 Bedeutung Satz bernehmen bzw kein Fehler Satz nicht bernehmen Satz einf gen Die Pufferadresse des einzuf genden Satzes und seine L nge m ssen in den Argumenten record_pointer und record_length zur ckgegeben werden Der Benutzerausgang wird erneut f r den urspr nglichen Satz aufgerufen Ende der Komprimierung einleiten Fehler im Benutzerausgang abnormales Ende FLAM V4 3 UNIX 2014 by limes datentechnik gmbh Kapitel 6 exk20 Syntax Argumente functioncode returncode record_pointer record _length work FLAM V4 3 UNIX Frankenstein Limes Access Method Die Benutzerausg nge Dieser Benutzerausgang kann bei der Komprimierung f r die Bearbeitung der S tze der FLAMFILE vor dem Schreiben benutzt werden Er kann durch das Unterprogramm flamup oder die Satzschnittstelle aktiviert werden Im Unterprogrammaufruf wird er durch den Parameter exk20 Exitspezifikation im Argument parameter_string angegeben Bei der Funktion flmopf wird er im Argument exitroutine_comp spezifiziert Er erh lt die Kontrolle nach dem ffnen und vor jedem Schreibzugriff und dem Schlie en der FLAMFILE wobei ihm vor Schreibzugriffen der zu schreibende Satz zur Verf gung gestellt wird Bei R ckgabe der Kontrolle an FLAM
160. tzerausg nge flamup wird mit folgendem Kommando mit dem Anwenderprogramm xyz gebunden ld o xyz usr lib flame flam_up o xyz c lc Will der Anwender Benutzerausg nge und oder eigene Ein Ausgaberoutinen verwenden m ssen diese zum Anwenderprogramm gebunden werden In diesem Fall ist statt flam_up o der Modul flam_upu o zu verwenden Hierbei ist zu beachten dass nicht nur einzelne Routinen vom Anwender zu erstellen sind sondern alle Benutzerausg nge und oder Ein Ausgabe Routinen Will der Anwender nur eigene Benutzerausg nge oder nur eigene Ein Ausgabe Routinen verwenden kann er f r die brigen Funktionen die in der usr lib flame vorhandenen Dummy Routinen flam_usrmod o bzw flam_exitmod o einbinden Das Kommando lautet dann ld o xyz usr lib flame flam_upu o usr lib flame flam_usrmod o usr lib flame flam_exitmod o xyz c lc usr lib flame flam_usrmod o und oder usr lib flame flam_exitmod o sind durch Module des Anwenders zu ersetzen Bei einigen UNIX Systemen muss die Runtime library lib ert0 o im Link Kommando mit angegeben werden z B SCO UNIX 3 11 Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Die Benutzerausg nge FLAM UNIX Benutzerhandbuch Kapitel 4 Die Satzschnittstelle flamrec Die Benutzerausg nge 4 Die Satzschnittstelle flamrec 4 1 Funktionen der Satzschnittstelle Die FLAM Satzschnittstelle flamrec besteht aus einer Reihe von Uhnterprog
161. uch FLAMFILEs die mit mode flamenc erzeugt werden Zur Aufnahme der f r diese Pr fungen ben tigten Informationen wie Z hler Zeitstempel MACs etc wird vor jedem Member ein Memberheader geschrieben und dahinter ein Membertrailer Zus tzlich wird ans Ende einer Secure FLAMFILE ein Filetrailer angeh ngt Secure FLAMFILEs k nnen nicht konkatiniert werden da dadurch Unstetigkeiten in der Nummerierung den Z hlern und der MAC Verkettung entstehen die von FLAM als Integrit tsverletzung gedeutet werden und zum Fehlerabbruch f hren Hingegen k nnen einzelne Member einer Secure FLAMFILE dekompromiert werden da FLAM beim berspringen von Membern innerhalb einer FLAMFILE die MACs der Memberverkettung nicht mehr pr ft sondern lediglich die Segmentverkettung verifiziert 1 9 2014 by limes datentechnik gmbh FLAM im berblick 1 101 101 101 101 101 101 10 Frankenstein Limes Access Method Kapitel 1 1 5 Schnittstellen Die verschiedenen Schnittstellen die FLAM besitzt gestatten eine vielf ltige Verwendungsweise Durch Aufrufe aus der entsprechenden Ebene kann FLAM in eigene Anwendungen oder diese in FLAM eingebettet werden Die folgende Tabelle gibt einen berblick ber die vorhandenen Schnittstellen Schnittstelle Aufrufebene zweck Kommando System Komprimierung flam Dekomprimierung ganzer Dateien im interaktiven Betrieb oder in Prozeduren Anwendungs Komprimierung programme Dekomprimierung ganz
162. ufen werden wenn danach flmopf aufgerufen werden soll Bei Aufruf mit device 7 muss die Anwendung mit den Benutzer Ein Ausgaberoutinen gem Abschnitt 5 2 gebunden werden Eine Beschreibung der Returncodes befindet sich in Anhang A Returncodes 4 19 2014 by limes datentechnik gmbh Die Satzschnittstelle fImopf Syntax Argumente flmid returncode flam_version Kapitel 4 Mit der Funktion flmopf open FLAM Einstellungen k nnen die FLAM Einstellungen explizit gesetzt oder abgefragt werden Dieser Aufruf ist nicht in jedem Fall erforderlich Wird er bei der Komprimierung nicht ausgef hrt werden f r die betreffenden Einstellungen implizite Werte eingesetzt Diese sind ggf jeweils bei den Beschreibungen der betreffenden Argumente angegeben fImopf kann nur als letzter Funktionsaufruf der Open Sequenz benutzt werden also nur nach flmopd falls diese aufgerufen wird oder nach flmopn falls kein flmopd Aufruf erfolgt void flmopf char flmid long returncode long flam_version long fam Code long comp_mode long max_buffer long fileheader long max_records struct kd key_description long block_mode char exitroutine_comp char exitroutine_decomp Der Feldinhalt von flmid ist ein Pointer auf einen Character String Dieses Argument identifiziert die FLAMFILE f r die die Funktion auszuf hren ist Es wird durch die Funktion fImopn gesetzt und darf bis zum flmcls nicht ver ndert wer
163. ufruf flamup Mit exd10 wird der Name eines Moduls angegeben mit welchem S tze der dekomprimierten Datei vor dem Schreiben bearbeitet werden exd10 Exitspezifikation Exitspezifikation In dieser Version kann f r Exitspezifikation nur exd10 angegeben werden exd10 ist der Name eines Moduls der die S tze der dekomprimierten Datei en vor dem Schreiben bearbeitet Dieser Modul muss vom Anwender erstellt und mit flamup und einem bergeordneten Anwenderprogramm gebunden werden siehe Kapitel 7 Mit exd20 wird der Name eines Moduls angegeben der die S tze der Komprimatsdatei nach dem Lesen bearbeitet exd20 Exitspezifikation Exitspezifikation In dieser Version kann f r Exitspezifikation nur exd20 angegeben werden exd20 ist der Name eines Moduls der die S tze der Komprimatsdatei en nach dem Lesen bearbeitet Dieser Modul muss vom Anwender erstellt und mit flamup und einem bergeordneten Anwenderprogramm gebunden werden siehe Kapitel 7 3 7 2014 by limes datentechnik gmbh Der Unterprogramm Aufruf flamup Kapitel 3 exk10 Syntax Werte Beschreibung exk20 Syntax Werte Beschreibung 3 83 8 3 83 83 83 83 8 Frankenstein Limes Access Method Mit exk10 wird der Name eines Moduls angegeben mit welchem S tze der Originaldatei nach dem Lesen bearbeitet werden exk10 Exitspezifikation Exitspezifikation In dieser Version kann f r Exitspezifikation nur exk10 angegeben werden Mit ex
164. ument die Anzahl bei der Komprimierung erzeugter bzw bei der Dekomprimierung gelesener Bytes zur ckgegeben Dieser Wert ist nur bei der Verarbeitung vollst ndiger Dateien signifikant bersteigt der im Argument cmpbytes kumulierte Wert 2 000 000 000 so wird dieser Z hler f r die Vielfachen von 2 000 000 000 benutzt Bei Secure FLAMFILEs darf flmcels nur unmittelbar nach fImflu oder fImpos aufgerufen werden Eine Beschreibung der Returncodes befindet sich in Anhang A Returncodes 4 9 2014 by limes datentechnik gmbh Die Satzschnittstelle flmflu Syntax Argumente fImid returncode cputime records bytes byteofl Kapitel 4 Mit flmflu flush wird die Komprimierung einer Datei beendet es werden die restlichen S tze im Block komprimiert und geschrieben erforderlichenfalls unter Auff llung des letzten FLAMSatzes Die Komprimatsdatei wird nicht geschlossen Die Z hler f r die Statistik werden nach flmflu nicht zur ckgesetzt Bei Secure FLAMFILESs wird bei der Komprimierung ein Memberrtrailer erzeugt void flmflu char flmid long returncode unsigned long cputime unsigned long records unsigned long bytes unsigned long byteofl unsigned long cmprecs unsigned long cmpbytes unsigned long cmpbytofl Der Feldinhalt von flmid ist ein Pointer auf einen Character String Dieses Argument identifiziert die FLAMFILE f r die die Funktion auszuf hren ist Es wird durch die Funktion fI
165. ung lediglich die bergaberichtung einiger Argumente beispielsweise des Komprimierungsmodus ist umgekehrt d h sie werden von FLAM an die Anwendung zur ckgegeben Im Dekomprimierungszyklus gibt es f r jede Funktion des Komprimierungszyklus ein Pendant die die komplement re Aufgabe erf llt Zu fImphd und flmpuh sind die Komplemente flmghd bzw flmguh zu flmput ist es flmget und flmflu wird auch f r den Abschluss des Dekomprimierungszyklus benutzt Dar berhinaus gibt es f r die Dekomprimierung die Funktion flmpos mit der auf den Anfang des Komprimats der n chsten Originaldatei positioniet werden kann und zu der es keine Entsprechung bei der Komprimierung gibt Typischerweise beginnt ein Dekomprimierungszyklus mit einem flmghd Aufruf aus dem sich die Information ber die Originaldatei wie deren Name Satzformat etc ergibt Ggf folgt ein flmguh falls die FLAMFILE einen anwenderspezifischen Fileheader enth lt Danach k nnen mehrfach flmget Aufrufe folgen bei denen die Anwendung jeweils einen Satz der Originaldatei erh lt Das Ende einer Originaldatei wird durch einen entsprechenden Returncode des flmget Aufrufs signalisiert kann aber auch gezielt durch einen flmpos Aufruf direkt erreicht werden Mit einem flmflu wird ein Dekomprimierungszyklus beendet dem ein weiterer Zyklus oder der Abschluss mit flmcls folgen kann Ein Aufruf von flmflu oder flmpos je Zyklus ist obligatorisch die brigen Aufrufe sind optional 4
166. ung kann durch den Parameter translate bewirkt werden 2 15 2014 by limes datentechnik gmbh Das Kommando flam flamfile Syntax Werte Beschreibung 2 162 162 162 162 162 16 Frankenstein Limes Access Method Kapitel 2 Mit diesem Parameter wird werden die FLAMFILE s angegeben flamfile Dateispezifikation Dateispezifikation Bei der Komprimierung bezeichnet Dateispezifikation eine einzelne Datei oder eine Liste mit mehreren Dateien durch Kommata getrennt Auch eine Substitutionsvorschrift ist zul ssig s Abschnitt 2 4 Bei der Dekomprimierung bezeichnet die Dateispezifikation eine einzelne Datei ein Suchmuster mit Wildcards oder oder eine aus solchen Elementen bestehende Liste durch Kommata getrennt Bei der Komprimierung Parameter compress werden die komprimierten Daten in die angegebene n Dateien geschrieben Bei der Dekomprimierung Parameter decompress werden die komprimierten Daten aus der den angegebenen Datei en gelesen Enth lt die Dateispezifikation mehr als eine Datei sind die in den Kapiteln 2 4 1 bis 2 4 3 angegebenen Regeln zur Syntax der Dateispezifikation und zur Zuordung zur Eingabespezifikation Komprimierung bzw Ausgabespezifikation Dekomprimierung zu beachten 2 16 FLAM V4 3 UNIX 2014 by limes datentechnik gmbh Kapitel 2 Das Kommando flam flamin Syntax Werte Beschreibung FLAM V4 3 UNIX Mit diesem Parameter werden die zu komp
167. zeichen sind Bestandteile der FLAM Syntax Diese erm glicht die Erkennung von Anfang und Ende eines FLAM Satzes unabh ngig vom Satzformat in dem das Betriebssystem die FLAMFILE speichert Bei FLAM ist ein FLAM Satz identisch mit einem Satz wenn die FLAMFILE fixes und variables Satzformat hat Die vorgegebene FLAM Satzl nge ist dann die Satzl nge bzw maximale Satzl nge Bei FLAMFILEs werden die Restdaten eines Komprimatsblocks mit Daten des Folgeblocks zu einem FLAM V4 3 UNIX 2014 by limes datentechnik gmbh Kapitel 1 FLAM V4 3 UNIX Frankenstein Limes Access Method FLAM im berblick FLAM Satz der fixen bzw maximalen L nge zusammengef gt Die FLAM S tze bis evtl auf den letzten sind alle gleich lang Dadurch wird die Nutzung des Speichermediums optimiert doch ist es dabei nicht m glich S tze der Originaldatei und S tze einer FLAMFILE einander eindeutig zuzuordnen Eine solche FLAMFILE kann deshalb immer nur komplett dekomprimiert werden Bei FLAM sind f r die FLAMFILE die Satzformate fix und variable bzw stream zul ssig Unabh ngig vom Satzformat ist die kleinste zul ssige L nge f r den FLAM Satz 80 und die gr tm gliche 32 760 Bytes bei mode cx7 4095 sofern keine niedrigere Obergrenze gesetzt wird Diese Spanne reicht praktisch aus um die bertragbarkeit einer FLAMFILE selbst da zu gew hrleisten wo dies f r die Originaldatei aufgrund von Restriktionen des eingesetzten File Trans
168. zschnittstelle statistics Abh ngigkeiten Kapitel 4 In diesem Argument wird angegeben ob mit Abschluss der Komprimierung Statistikinformationen gew nscht werden oder nicht 0 keine Statistik sonst Statistikinformationen zur ckgeben Wird auf die Folgeaufrufe fImopd und oder flmopf bei der Komprimierung verzichtet continue_param 0 so ffnet fImopn die FLAMFILE unter Verwendung impliziter Werte f r die entsprechenden Eigenschaften und Einstellungen Returncodes Eine Beschreibung der Returncodes befindet sich in Anhang A Returncodes 4 244 244 244 244 244 244 24 FLAM V4 3 UNIX Frankenstein Limes Access Method 2014 by limes datentechnik gmbh Kapitel 4 fImphd Syntax Argumente fImid returncode fiilename_length fiename organization FLAM V4 3 UNIX Frankenstein Limes Access Method Die Satzschnittstelle Die Funktion fImphd put file header ist nur bei der Komprimierung zugelassen Sie erzeugt einen allgemeinen Fileheader der das Dateiformat der anschlie end bergebenen Originals tze beschreibt Werden mehrere Dateien in eine FLAMFILE komprimiert so kann f r jede Datei ein Fileheader mit der Funktion fImphd erzeugt werden FLAM gibt diese Fileheaderinformationen auf Anforderung fImghd beim Dekomprimieren zur ck void fImphd char flmid long returncode long filename_length char filename long organization long record format long record setze char record_delim
Download Pdf Manuals
Related Search
Related Contents
WIRELESS GATE HOME ANTENNA Data security method and device for computer modules Users` Guide - Catálogo de Software Libre Sun StorEdge L9 JTF LES LIQUIDATIONS Samsung GT-I8530 Kasutusjuhend Wー60XHー70 R5 EMB Version 3.3 H063M H064M Copyright © All rights reserved.
Failed to retrieve file