Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ mhX_foreign_to_orname(3xmh) — MAILbus 400 2.0C

Media Vault

Software Library

Restoration Projects

Artifacts Sought

mhX_foreign_to_orname(3xmh)  —  Subroutines

(c) Digital Equipment Corporation. 1994. All rights reserved. 

Name

mhX_foreign_to_orname − Uses the foreign address supplied in the call to look up an O/R Name in the MAILbus 400 MTA’s routing information. 
 

Syntax

OM_return_code = mhX_foreign_to_orname  (workspace, mts_name domain, domain_password, foreign_address, orname, diagnostic)
 

Argument Data Type Access
workspace OM_workspace Read
mts_name OM_string Read
domain OM_string Read
domain_password OM_string Read
foreign_address OM_string Read
or_name OM_private_object Write
diagnostic OM_enumeration Write

C Binding

OM_return_code mhX_foreign_to_orname(workspace, mts_name domain, domain_password, foreign_address, or_name, diagnostic) OM_workspace workspace,
OM_string mts_name,
OM_string domain,
OM_string domain_password,
OM_string foreign_address,
OM_private_object ∗or_name,
OM_enumeration ∗diagnostic

Arguments

WorkspaceThe workspace in which the Service creates any returned objects. 

MTS NameThe PrintableString version of the distinguished name of the routing domain that the application operates in. Your application must give this argument the same name as is used for the MTS entity. 

DomainName of the Domain entity that represents the application requesting the function. Your application must give this argument the same name as is used for the Domain entity (an entity of the MTS module). 

Domain PasswordThe password associated with the Domain Name, as specified in the MTS Create/Set Domain command.  A descriptor with a length of zero (0) indicates a null password.  Maximum length of the password is 128 octets. 

Foreign AddressThe foreign address string that must be translated into an O/R Name

O/R NameThe O/R Name stored as an attribute of the foreign address in the directory. 

DiagnosticAdditional error information is returned in this argument, if appropriate. 

Description

The Service uses the MTS Name, Domain Name and Domain Password supplied with the call to connect to the directory. 

If the connection to the directory is unsuccessful, the Service returns OM_SYSTEM_ERROR with a diagnostic code of MHX_DIR_BIND_FAIL.  This diagnostic code can indicate a temporary problem, and your application should retry. Other OM_SYSTEM_ERROR diagnostics indicate underlying errors that need to be put right before the routine will succeed:

Diagnostic Code Problem
MHX_DIR_DLL_FAILURE The Service has failed to find or invoke the appropriate shareable image or library. In this case it is necessary to re-install all three components of the MAILbus 400 MTA. 
MHX_DIR_INTERNAL_PROBLEM There is a problem with some resource used by the Service; for example, the DUA is not configured.  In this case, the MAILbus 400 MTA will be failing in a more general way. 

If the connection to the directory is successful, and if the entry exists, the Service looks up the foreign address entry and returns its O/R Name translation. 

If the return code is MH_RC_NO_SUCH_USER, the diagnostic codes have these meanings:

Diagnostic Code Problem
MHX_DIR_BAD_PASSWORD The Domain Password specified in the call does not match the one previously entered for the Domain entity. 
MHX_DIR_BAD_DOMAIN_NAME The Domain Name argument to the call does not match the Domain entity. 
MHX_DIR_BAD_MTS_NAME The MTS Name argument to the call is invalid, either because it is not syntactically correct or because it does not match the MTS entity. 
MHX_DIR_BAD_FOREIGN_ADDR The Foreign Address argument to the call is invalid, either because it is not syntactically correct or because it does not match a Foreign Address entity

If the return code is MH_RC_ORIGINATOR_IMPROPER, the diagnostic codes have these meanings:

Diagnostic Code Problem
MHX_DIR_NO_TRANSLATION The Service successfully found the Foreign Address specified in the call, but there was no translation stored with it in the directory. 
MHX_DIR_BAD_TRANSLATION_ATTR The Foreign Address specified in the call does exist, and the Service found a translation for it in the directory. But the Service could not process the translation it found. 

Return Values

OM_FUNCTION_DECLINED

OM_MEMORY_INSUFFICIENT

OM_NETWORK_ERROR

MH_RC_NO_SUCH_USER

MH_RC_ORIGINATOR_IMPROPER

OM_SUCCESS

OM_SYSTEM_ERROR

MH_RC_WRONG_CLASS
 

Plus errors returned from:

om_create

om_put

Examples

/∗ Set up strings defining the MTS, domain and password ∗/
    OM_mts.length = strlen (mts);
    OM_mts.elements = (void ∗) mts;
    OM_domain.length = strlen (domain);
    OM_domain.elements = (void ∗) domain;
    OM_domain_password.length = strlen (domain_password);
    OM_domain_password.elements = (void ∗) domain_password;
  /∗ Do lookup ∗/
    om_status = mhX_foreign_to_orname(workspace,
                                     OM_mts,
                                     OM_domain,
                                     OM_domain_password,
                                     foreign_address,
                                     &match_oraddress,
                                     &diagnostic);
 

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026