delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2006/08/07/17:15:12

X-Spam-Check-By: sourceware.org
Message-ID: <44D7AD48.5050503@andrew.cmu.edu>
Date: Mon, 07 Aug 2006 17:14:48 -0400
From: Adam Wolbach <awolbach AT andrew DOT cmu DOT edu>
User-Agent: Thunderbird 1.5.0.5 (Windows/20060719)
MIME-Version: 1.0
To: cygwin AT cygwin DOT com
Subject: Re: cygwin, Coda and symbolic links
References: <44D27B36 DOT 1090400 AT andrew DOT cmu DOT edu> <20060804090559 DOT GD8152 AT calimero DOT vinschen DOT de> <44D3963B DOT 6090107 AT andrew DOT cmu DOT edu> <20060806001203 DOT GF3109 AT trixie DOT casa DOT cgf DOT cx>
In-Reply-To: <20060806001203.GF3109@trixie.casa.cgf.cx>
X-IsSubscribed: yes
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

> Is there some reason why you aren't just using cygwin's symlink()
> function?  Reverse engineering and mimicking cygwin's symlinks seems to
> be a pretty fragile way of writing an application which will play nicely
> with cygwin.  What if we change the way symlinks are written at some
> point?

Yeah, I agree we are taking this risk. We have a client process running 
on cygwin, but Coda's interaction with the Windows NT kernel sort of 
sits below cygwin, through the use of a kernel module also loaded as an 
NT service (we simply write to and read data from the device /dev/cfs, 
and cygwin is none the wiser). Thus the kernel module doesn't create 
files using cygwin's file system interface, it only provides another 
file system within its namespace.

We theoretically could use symlink() in the userspace client, but we'd 
have to introduce a lot of cased #ifdef _CYGWIN32_ code to create the 
file and change the kernel/userspace interface to handle the 
cygwin-specific nuances, like .lnk pathname conversions. We'd like to 
keep the solution as close to the problem as possible, which would be in 
the kernel module. Given this, since Win32 apps don't really go through 
cygwin to access our file system (it appears as a network drive), we 
need to be able create that local .lnk file that will be interpreted 
correctly by Windows and cygwin.


Adam

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019