Yes, HTTP is the most likely short-term answer, since we are a small step away from implementing it in Mirage over the Cohttp library. Here's the options as I see them now:
- Export an NFS server, and use a Windows NFS client: we have OCaml-NFS, so this is quite possible in the short term with some modernisation of that code. Nicolas Ojeda Bar has been looking at this recently, but only in a preliminary sense.
- Export WebDAV: needs the TLS stack (we have that now!), an XML library (we have xmlm), the HTTP protocol (we have Cohttp) and the DAV protocol implementation (we need this). Once the last phase is built, it should be possible to mount Mirage shares as a filesystem via Windows, MacOS X or Linux, since they all have WebDAV mounting support builtin now.
- Export FUSE: David Sheets has a FUSE implementation, but this is rather Linux-centric. There does exist a fuse4win, but I have no idea how good it is.
The other nice aspect of CIFS is its service discovery. We would need to replace that with a multicast-DNS ("Bonjour") implementation, which we have some code from back in 2007 when Dave Scott and I built this (into OCaml-DNS). Not hard to resurrect, and I in fact need this for the Xen/ARM SDcard image builder to announce the IP address of the Cubieboard on first boot, so I'll resurrect this in the short term.
What sort of use-cases are you thinking of, Jon?
cheers Anil Hi,
I think the easiest way to access data from windows would be to expose an HTTP server in your Mirage application. The HTTP code is robust and in use all over the place.
Another option (which I haven't tried) would be to expose the git protocol via Irmin and then use a Windows git client like 'tortoisegit' which integrates with the Windows shell. This would give you history tracking for free. We plan to use irmin/git all over the place in Mirage so, even though the code is quite new, I feel happy recommending it.
We don't have a library which can talk SMB/CIFS (the protocol used by Samba and Windows) and it's reputed to be quite complex so it would take a lot of effort to implement.
Cheers,
_______________________________________________ MirageOS-devel mailing list MirageOS-devel@xxxxxxxxxxxxxxxxxxxx http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
|