Path: utzoo!mnetor!uunet!seismo!esosun!ucsdhub!jack!nusdhub!rwhite From: rwhite@nusdhub.UUCP (Robert C. White Jr.) Newsgroups: comp.dcom.lans Subject: Re: NFS vs RFS Message-ID: <1016@nusdhub.UUCP> Date: 3 Apr 88 23:26:35 GMT References: <4456@chinet.UUCP> Distribution: na Organization: National University, San Diego Lines: 72 in article <4456@chinet.UUCP>, les@chinet.UUCP (Leslie Mikesell) says: > Do any of those other things let you mount /dev from a remote machine > and proceed to open and use the special files there in the same ways > that you would use local devices (transparently, as they say..)? > RFS does, and with similar machines you can do things that require > passing structs to ioctl(), as is required for example to set the > modes on a tty line on the remote machine (see termio.h on a sysV machine). > This is not at all the same as dealing with normal (non-special) files on > a remote machine. In the case of normal files both machines can know how to > translate each others requests. In the case of remote devices, the > nature of the struct passed to ioctl() may be known only to the remote > machine. The termio struct could probably be made a special case, but > other devices require other types of structs... OK, I'll Spell it out...... [This is REALLY not that tough!] Les say that I am Writing a RFS driver for somthing like a VMS system. [I dont really know anything about VMS, but I am making a relativly safe assumption that Whatever VMS uses for IOCTL-like Functions does NOT resemble System V ioctl structures.] 1) I include the RFS headder Definitions in the driver handeler. 2) I write a BIT swizzeler routine. 3) I write a "special call interpreter" to handle the IOCTLs [etc] 3a) I include the System V structures [as they will be received]. 3b) I decide any special-case restrictions for item 2. 3c) I include the structures for VMS. 3d) I translate the SV calls to VMS and dispatch them. 4) I write a dispatcher which will route special cases through item 3 Before you start screaming about the binary primitives you MUST remember that 1) Those special calls are deleivered by special means. 2) you will ALWAYS know when you are getting these special calls. 3) the contents of these special calls are NOT a mystery. 4) if the order of data on one end is different from the order on the other end, a simple and fast hack is to re-arange the order. WHENEVER ANY special file system call is issued against any "file" wether it is a device special, or normal file, will arive in a envelope which uniquely defines what the type of function actually is. In the same way that FTP or TCP/IP or any other packet type is a mystery until the kernel driver is added to the system which tells it what it means. When you add the RFS driver to our system, which tells your system about DUOPEN, DUCLOSE, DUCHDIR, DUIOCTL, DUREAD, and DUWRITE [and about 40 others] you will SIMPLY ADD THE FACT THAT IOCTL TO/FROM THIS DRIVER LOOKS LIKE X GOING TO THE KERNEL AND Y TO THE MEDIA AND MAKE THE FUNCTION F(X) AND F(Y). So, WHAT _IS_ the problem?? This is all in the standard you know, have YOU READ the standard?? [excuse me, aledged standard] Pardon me for getting a little frustrated, but none of this is unique to RFS. any packeting "standard" [like X.25] talks about forign concepts and how to translate them into something the local system can understand. The fact that you may have to swizzle bits or components into new orders dosn't really affect the reasonability of the connection. Granted, if your system needs something totally different than RFS, the guy who writes you driver may have a nightmare, but then again, if it's too forign, you probably won't be dealing with alot of the esoterics. [when was the last time you opened a device special file under MS-DOS?] <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< << All the STREAM is but a page,<<|>> Robert C. White Jr. << << and we are merely layers, <<|>> nusdhub!rwhite nusdhub!usenet << << port owners and port payers, <<|>>>>>>>>"The Avitar of Chaos"<<<<<<<<<<<< << each an others audit fence, <<|>> Network tech, Gamer, Anti-christ, << << approaching the sum reel. <<|>> Voter, and General bad influence. << <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ## Disclaimer: You thought I was serious???...... Really???? ## ## Interogative: So... what _is_ your point? ;-) ## ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^