I have a partial answer for you. As far as I can tell, the SYS$DNS
system service and API are still *on* AXP. Whether they are supported
is another question, you will have to look carefully at the SPD for DECnet/OSI,
which I don't have on hand.
In trolling around on my AXP system here (version
"DECnet/OSI for OpenVMS Version V6.2") I find three examples programs
in SYS$COMMON:[SYSHLP.EXAMPLES.DNVOSI]
DNS_ADD_VALUE_TO_ATTRIBUTE.C;1
DNS_CREATE_OBJECT.C;1
DNS_READ_ATTRIBUTE.C;1
Now as to whether they really should be there given that the VMS help
says the $DNS API is only supported on VAX, I can't comment, but with a
little bit of fiddling with the function prototypes, I was able to get
one to compile and run.
As to your other questions. If you are going to change your code to use
TCP/IP, I'll mention that DECnet/OSI now can use TCP/IP as its transport.
This allows you to keep you existing code, but run it over a TCP/IP-only
WAN.
If you are switching to TCP/IP for other reasons, you will want to check
out using the dns/BIND naming service which is the naming service used in the
IP world. (The 'dns' in this case stands for Domain Name Service. The
'dns' in DECdns stands for Distributed Name Service.) I don't know of
any reference materials on any API(s?) for this, but I'm sure there
is plenty of help on usenet. Note that the dns/BIND service is a more 'basic'
type of naming service, without some of the features of DECdns, such as the
kind of access control available with DECdns.
Lastly, I'm not sure if this document was ever publicly published, but
I have a manual called "DECnet/OSI for VMS DECdns Programming", it has
an order number of AA-PNKCA-TE, this copy is dated July 1992, and
looks like it went out with DECnet/OSI V5.6 for OpenVMS. I do not know if it
is still in the DECnet/OSI doc set.