MT X.400 API
Copyright (c) 2005-2015, Isode Limited, London, England
This document is a specification of the Isode X.400 Gateway API. A summary of this product, which sets out its general function and intended application is given in http://www.isode.com/products/x400-gateway-api.html
If you wish to "Jump right in" then the best thing to do is:
- Look at the x400_mttutorial.c example program. It is a very simple streamlined program that demonstrates the basic approach of manipulating API objects.
- Look also at the x400_mtsend.c and x400_mtrcv.c example programs. These programs give a more detailed example of how the API should be used.
- Other examples are also provided:
- Look at the reference table which matches attributes described within the standards to the objects / attributes used within the API.
- Have a good read of the API manual.
The API is read by following the links on the left of the page.Recommended places to start:
The collocated interface, intended for AFTN and CIDIN gateway applications.
This is an API for interfacing to an X400 MTA suitable for building gateway functionality. It provides mechanisms for building and examining X.400 message, probes and reports. It also provides mechanisms for transferring such objects into X.400, and transferring out such objects.
It is highly recommended you are familiar with the following standards:
- STANAG 4406 Annex A
- ISO/IEC 10021
- ISO/IEC 10022
- ISO/IEC 10024
- ISO/IEC 10025
- ISO/IEC 10027
Top-level message objects are built, transferred in and out, and examined, using the X400 Gateway API. In particular, functions specific to X.400 MT message objects are used to get and set attribute values within messages. For example, X400mtMsgAddStrParam() would be used to set a string parameter value in such a message.
There is one specific situation where protocol-independent functions need to be used to manipulate messages: this is when dealing with forwarded messages (i.e. messages which have been included as bodyparts of "top-level" X.400 MT messages). In this case, the equivalent "pure X.400" functions must be used - X400MsgAddStrParam() in the equivalent case to the one described above.
The X.400 Gateway API is available in C, Java and Tcl bindings.
The example code is in:
- Unix: /opt/isode/share/x400sdk/example/c
- Windows: c:\Isode\share\x400sdk\example\c
The details of the C bindings are here:
The example code is in
- Unix: /opt/isode/share/x400sdk/example/java
- Windows: c:\Isode\share\x400sdk\example\java
The example code is in
- Unix: /opt/isode/share/x400sdk/example/tcl
- Windows: c:\Isode\share\x400sdk\example\tcl
The APIs use an object-oriented style, and rely on arguments which are
- integers (either explicitly or as manifest constants)
- strings (whose length is passed as an integer)
- opaque objects (on which the API functions perform operations)
Please send any comments on the API to email@example.com.