delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2020/07/27/09:11:06

X-Recipient: archive-cygwin AT delorie DOT com
X-Original-To: cygwin AT cygwin DOT com
Delivered-To: cygwin AT cygwin DOT com
DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 0D8D63844030
Authentication-Results: sourceware.org; dmarc=none (p=none dis=none)
header.from=SystematicSw.ab.ca
Authentication-Results: sourceware.org;
spf=none smtp.mailfrom=brian DOT inglis AT systematicsw DOT ab DOT ca
X-Authority-Analysis: v=2.3 cv=LKf9vKe9 c=1 sm=1 tr=0
a=kiZT5GMN3KAWqtYcXc+/4Q==:117 a=kiZT5GMN3KAWqtYcXc+/4Q==:17
a=IkcTkHD0fZMA:10 a=gbWfsKiz6vHCRWEaFW4A:9 a=QEXdDO2ut3YA:10
Subject: Re: Relating device names in /dev/ to drive letters in Windows.
To: cygwin AT cygwin DOT com
References: <AM0PR05MB489877DBDB1C8ABDC95070EBE7720 AT AM0PR05MB4898 DOT eurprd05 DOT prod DOT outlook DOT com>
From: Brian Inglis <Brian DOT Inglis AT SystematicSw DOT ab DOT ca>
Autocrypt: addr=Brian DOT Inglis AT SystematicSw DOT ab DOT ca; prefer-encrypt=mutual;
keydata=
mDMEXopx8xYJKwYBBAHaRw8BAQdAnCK0qv/xwUCCZQoA9BHRYpstERrspfT0NkUWQVuoePa0
LkJyaWFuIEluZ2xpcyA8QnJpYW4uSW5nbGlzQFN5c3RlbWF0aWNTdy5hYi5jYT6IlgQTFggA
PhYhBMM5/lbU970GBS2bZB62lxu92I8YBQJeinHzAhsDBQkJZgGABQsJCAcCBhUKCQgLAgQW
AgMBAh4BAheAAAoJEB62lxu92I8Y0ioBAI8xrggNxziAVmr+Xm6nnyjoujMqWcq3oEhlYGAO
WacZAQDFtdDx2koSVSoOmfaOyRTbIWSf9/Cjai29060fsmdsDLg4BF6KcfMSCisGAQQBl1UB
BQEBB0Awv8kHI2PaEgViDqzbnoe8B9KMHoBZLS92HdC7ZPh8HQMBCAeIfgQYFggAJhYhBMM5
/lbU970GBS2bZB62lxu92I8YBQJeinHzAhsMBQkJZgGAAAoJEB62lxu92I8YZwUBAJw/74rF
IyaSsGI7ewCdCy88Lce/kdwX7zGwid+f8NZ3AQC/ezTFFi5obXnyMxZJN464nPXiggtT9gN5
RSyTY8X+AQ==
Organization: Systematic Software
Message-ID: <cd4b1cea-88ac-bc1e-2b8f-bf8c085f1662@SystematicSw.ab.ca>
Date: Mon, 27 Jul 2020 07:10:17 -0600
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101
Thunderbird/68.10.0
MIME-Version: 1.0
In-Reply-To: <AM0PR05MB489877DBDB1C8ABDC95070EBE7720@AM0PR05MB4898.eurprd05.prod.outlook.com>
X-CMAE-Envelope: MS4wfBr/iOXjGYDKD28wVzgtiHyvZtTzXKZ0aivjAVere/7XeQOHEgOticN4bGy9oCznaf2rmYX2X63ROw7r40u6afa0hq5CZOQFQfStKCAiRHKbROjVoBar
cNC4G91PSUMkIIgsT0hS7WsIM8P8EepYFQt0UrRVs3ZIoWa1gyXBe/EbM9fzxwvJnZTweIbgu9ULpw==
X-Spam-Status: No, score=-8.1 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS,
KAM_LAZY_DOMAIN_SECURITY, RCVD_IN_DNSWL_LOW, SPF_HELO_NONE, SPF_NONE,
TXREP autolearn=no autolearn_force=no version=3.4.2
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on
server2.sourceware.org
X-BeenThere: cygwin AT cygwin DOT com
X-Mailman-Version: 2.1.29
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Unsubscribe: <http://cygwin.com/mailman/options/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=unsubscribe>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-request AT cygwin DOT com?subject=help>
List-Subscribe: <http://cygwin.com/mailman/listinfo/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=subscribe>
Reply-To: cygwin AT cygwin DOT com
Errors-To: cygwin-bounces AT cygwin DOT com
Sender: "Cygwin" <cygwin-bounces AT cygwin DOT com>

On 2020-07-27 05:24, Hamish McIntyre-Bhatty via Cygwin wrote:

Please maintain threading using Reply to List or Reply/All to keep the
discussion together in email clients using proper References headers for
threads, rather than just Subject, and also please retain some quoted context
for your replies.

> smartmontools does help - I can see make and model, which is definitely
> helpful.
> Oh, I guess I just didn't have blkid installed then. I'll fix that.

>> $ which blkid
>> /sbin/blkid
>> $ cygcheck -f /sbin/blkid
>> util-linux-2.33.1-2
>> 
>> Everyone has util-linux installed as it is in the Base category.

> I'd be happy to attempt implementing this, but I'm not sure where to
> start. With the information you've given me I should be able to figure
> something out, but I'm not sure how this is done in Linux/a POSIX
> compliant way. Would be be through a file and directory structure or
> through some libraries?

See what libraries are used by the package, whether and what system dependencies
each has, clone the source repo or download the sources and create a local repo,
so you can follow a similar structure with a Cygwin port.
Using a (git) repo to track your information, documentation, research, proofs of
concept, and changes will make life easier for all.

> I know a little bit of C and C++, so if I do have to write a library I
> should be able to muddle through, and probably learn quite a lot, but
> I'm not sure quite where to start here, with either the Linux side or
> the Cygwin side (would this be part of the Cygwin DLL?).

First you need to research what information you need to deliver to your client
or consumer, based on the system dependencies found above, and how to find that
information under Windows.

You could make that process into a proof of concept in some interpreted script
running under an elevated admin shell to access /proc/..., /proc/registry/...,
/proc/sys/... etc. and get at the information you require.

Then you could research how you could implement that process with Windows APIs
by searching online docs, including e.g. SO: pay attention to supported versions
in MS docs.

If you isolate system interfaces into independent modules, they could be
reimplemented in the DLL if appropriate.

> I'm aware this might not be the right mailing list, but would appreciate
> if anyone knowledgeable in this area could give me a few pointers to
> help me get started - I'd love to contribute more to Cygwin :)

Check out the newlib-cygwin source repo and read the sources (starting with
short .cc files under winsup/cygwin/) to see how system interfaces are
implemented using Windows APIs.

-- 
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada

This email may be disturbing to some readers as it contains
too much technical detail. Reader discretion is advised.
[Data in IEC units and prefixes, physical quantities in SI.]
--
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

- Raw text -


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