# XMIT

XMIT (abgewandelt von TRANSMIT, englisch für ‚übertragen‘) ist ein Befehl für den Kommandozeileninterpreter TSO/E für IBM Großrechner, sowie die Bezeichnung für ein damit erstelltes proprietäre Dateiformat. Es dient dem Austausch von Dateien, bzw. Daten (in der Regel von kompletten Datasets), sowie Nachrichten von Großrechnern untereinander oder von Großrechnern und anderen Systemen. Die Dateiendung lautet .XMIT oder je nach System auch XMI, XMT, XM oder XMITFILE. XMIT wurde mit dem Großrechner-Betriebssystem MVS SP/1 um 1980 eingeführt.
XMIT wird noch eingesetzt, so via JES2/JES3 unter z/OS. Für historische Zwecke wird es auch häufig bei dem Einsatz des Emulators Hercules unter MVS verwendet. Fast alle Dateien des Magnetbandarchivs auf CBTTAPE.ORG befinden sich in diesem Format (zusätzlich noch als ZIP-Datei komprimiert).
Zur Betrachtung bzw. Extraktion von Dateien unter Windows, Linux, MacOS oder weiteren Großrechner-Betriebssystemen existieren Programme von Drittanbietern, die dieses ermöglichen. Die Übersetzung zwischen EBCDIC und ASCII (falls nötig und gewünscht) erfolgt dabei automatisch. Verwendete Bibliotheken und ISPF-Statistiken bleiben erhalten.

## Inhalte des Containers

Standardgemäß werden komplette PDS bzw. PDS/E-Dateien (Partitioned Data Sets) verwendet, die gemischte Inhalte wie Textdateien (häufig Quellcode), Binärdateien (.BIN), Objektcode (.PGM) oder auch weitere XMIT-Dateien beinhalten können. Zusätzlich oder auch ausschließlich können Nachrichten (.MSGS) hinzugefügt werden.
Möglich ist auch eine Einbindung von lediglich sequentiellen Daten (.DATA).
Da in der Regel beim Extrahieren auf anderen Systemen keine Dateiendungen vorhanden sind, ist manchmal die Art der Datei, das Dateiformat und die Kodierung (ASCII/EBCDIC) unklar. Normalerweise geben Dokumentationsdateien darüber Aufschluss. Kommerzielle Dateibetrachter können anhand der Header, z. B. mehrfach verschachtelte oder mehrfach komprimierte Dateien erkennen, und Dateien aus anderen Dateiformaten, wie AWS-Banddateien, extrahieren.
Die einzelnen Dateien sind als Partitionen, sogenannte Member organisiert. Die Syntax zur Erstellung einer XMIT-Datei lautet:

## Optionen

Neben der Auswahl des Benutzers (addresseelist) und der Datasets gibt es einige Optionen, die ausgewählt werden können. So ist eine Passwortvergabe, Verschlüsselung, Log-Aufzeichnung, Empfangsbestätigung und ähnliches möglich.

## Übertragung

Die Übertragung muss binär erfolgen. Die Dateilänge (LRECL) der Zieldatei beträgt normalerweise 80, das dem Lochkarten-Standard entspricht. Das Datensatzformat (RECFM) ist normalerweise FB (fixed Blocked) und der Dataset-organization-Wert (DSORG) PS (physical sequential).
XMIT kann auch an Stelle des Befehls TRANSMIT verwendet werden. Der Gegenbefehl zum Empfangen lautet RECEIVE. Beispiel:

## Alternativen

Alternative Programme zum Datenaustausch sind IND$FILE (in der Regel in Tn3270-Programmen enthalten) oder das spätere DFDSS (Data facility data set services), beide ebenfalls von IBM. Ferner können, je nach Betriebssystem, Protokolle und Standards wie FTP, Kermit, ISPF C/S oder INWMUTIL verwendet werden.
Als Alternative zum Upload unter Emulatoren kann auch das Hercules-Tool DASDLOAD verwendet werden, das DASD-Banddateien aus XMIT-Dateien erstellt. Außerdem können XMIT-Dateien per virtuellem Lochkartenleser eingelesen werden.

## Andere Programme

Aufbauend auf XMIT existieren weitere Programme, wie beispielsweise XMITIP, das einen Austausch vie E-Mail ermöglicht.
Da der Quellcode von IBM-Software Drittanbietern und Privatpersonen in der Regel nicht vorliegt, wird häufig Reverse Engineering verwendet.