Operating System - OpenVMS
cancel
Showing results for 
Search instead for 
Did you mean: 

Mounting UNIX FS on OpenVMS

rbhagwat
Occasional Advisor

Mounting UNIX FS on OpenVMS

Hi,

I am porting an app from UNIX to OpenVMS. Initially, I like to compile this on a source
code that resides on UNIX (mounted thoruh NFS
on OpenVMS). I plan to use GNV for this.

All the scripts etc (Makefile, installation) use UNIX filenames.

After mounting the UNIX FS, the first hurdle I face is that UNIX filenames are getting translated in undesirables ways. The most
important (and annoying) being Upper case (say A) becomes preceded with $.

Can someone please help.
4 REPLIES
Hoff
Honored Contributor

Re: Mounting UNIX FS on OpenVMS

Welcome to the ITRC forums.

OpenVMS supports most of the Unix file name syntax in the C APIs and can have (more) of the syntax enabled via controlling logical names, and can perform both case-preserving and case-sensitive operations with OpenVMS Alpha and OpenVMS I64 systems starting circa V7.3-2 and later.

GNV is somewhat or mostly or partially functional, and can be both useful and quite frustrating.

I'd strongly avoid trying remote mounts and trying to operate across file systems. That adds all sorts of complexity, and both Unix and VMS can get "helpful" here. Switch to extended parsing (see the SET PROCESS /PARSE=EXTENDED and related commands) and switch to the ODS-5 volume structure, and the C APIs (and GNV) and you'll reduce some of the complexity you would otherwise have to deal with.

Getting NFS into this mix is going to make this more difficult.

Here is the HP porting documentation; an overview of porting Unix C code to VMS:

http://h71000.www7.hp.com/portability/

I've dealt with a whole pile of ports, and here are some related notes from that:

Experiences with GNV:
http://labs.hoffmanlabs.com/node/1393
http://labs.hoffmanlabs.com/node/1481

Programming C on VMS:
http://labs.hoffmanlabs.com/node/273
http://labs.hoffmanlabs.com/node/758
http://labs.hoffmanlabs.com/node/1058
http://labs.hoffmanlabs.com/taxonomy/term/73

C Feature logical names:
http://labs.hoffmanlabs.com/node/1513
(see the vms_crtl_init.c stuff there, too)

RMS file sharing, RMS intro:
http://labs.hoffmanlabs.com/node/1135
http://labs.hoffmanlabs.com/node/357

Extended (case-sensitive) parsing:
http://labs.hoffmanlabs.com/node/1248
http://labs.hoffmanlabs.com/node/1297

diff/patch, other tools
http://labs.hoffmanlabs.com/node/1310
http://labs.hoffmanlabs.com/node/1241

In particular, see the DECC$EFS_CASE_PRESERVE logical name. GNV has a list.

There are excellent porting resources and details available over at the DECUSERVE conferencing system, too, in the PORTING_TO_VMS conference:

http://decuserve.org/anon/htnotes/conf?f1=PORTING_TO_VMS
(or get yourself a free login into DECUSERVE, and use NOTES directly.)
Hoff
Honored Contributor

Re: Mounting UNIX FS on OpenVMS

ps: the OpenVMS NFS client is old (V2.x), and uses name mapping and on-the-fly file conversion...

http://h71000.www7.hp.com/doc/732final/6526/6526pro_058.html#trans_appendix

This is likely the $ you are encountering.

See the /STRUCTURE=5 switch to enable ODS-5 extended file naming:

http://h71000.www7.hp.com/doc/732final/6527/6527pro_005.html#mount_comm

There are also some ADF files that can come into play here:

http://h71000.www7.hp.com/doc/732final/6526/6526pro_047.html#nfs_client_chap
rbhagwat
Occasional Advisor

Re: Mounting UNIX FS on OpenVMS

Thanks. /struct=5 worked. Now moving onto
bigger problems. Thanks for giving pointers
in advance for the porting and specifically
about GNV.
Ian Miller.
Honored Contributor

Re: Mounting UNIX FS on OpenVMS

Note a NFS V3 Client is available in
HP TCPIP 5.7 ECO2
____________________
Purely Personal Opinion