Sender: rich AT phekda DOT freeserve DOT co DOT uk Message-ID: <3EA43D71.F34E91EC@phekda.freeserve.co.uk> Date: Mon, 21 Apr 2003 19:50:25 +0100 From: Richard Dawe X-Mailer: Mozilla 4.77 [en] (X11; U; Linux 2.2.23 i586) X-Accept-Language: de,fr MIME-Version: 1.0 To: djgpp-workers AT delorie DOT com Subject: Re: fstat, fd_props and inventing inodes, revision 3 [PATCH] References: <003101c30704$8dbb1ea0$0100a8c0 AT acp42g> <000a01c30708$aacbc680$0100a8c0 AT acp42g> <3EA2685E DOT 725043BC AT phekda DOT freeserve DOT co DOT uk> <8296-Sun20Apr2003135633+0300-eliz AT elta DOT co DOT il> <3EA2B7E2 DOT E83694EA AT phekda DOT freeserve DOT co DOT uk> <1858-Sun20Apr2003203205+0300-eliz AT elta DOT co DOT il> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Reply-To: djgpp-workers AT delorie DOT com Hello. Eli Zaretskii wrote: [snip] > Hmm, I wonder whether all DOS versions we support have support for > 5F46h. RBIL seems to imply some enhanced LAN software should be > installed: > > --------N-215F46----------------------------- > INT 21 u - LAN Manager Enhanced DOS - LOCAL NetUseEnum It works fine under Windows '95, '98, 2000/XP (whichever Andrew is using). I expect it works under Windows NT 4 - after all, that was a "replacement" for LAN Manager. I expect it to work under Windows ME too. So I don't think we need to worry! > > That seems a bit odd, when there is a status field in > > the use_info_1 structure (which I called "share_info" in the code). > > I don't see a reason why it should return any info about unavailable > resources. If a drive is unavailable, it simply doesn't exist, as far > as any program is concerned; you cannot refer to it without hitting > Int 24h. True. > Btw, do we have any info on how long does it take for 5F46h to do its > job on a typical system? Not very long! I add a one million iteration for loop executing get_shares_internal (which calls Int 21h/5F46h) to the test program for profiling. On my Athlon 850MHz running Windows '98 SE it sometimes took: 6.06 seconds for 1,000,001 calls to get_shares_internal with 1 share mapped 12.56 seconds for 1,000,001 calls to get_shares_internal with 2 shares mapped 16.50 seconds for 1,000,001 calls to get_shares_internal with 4 shares mapped (The extra call to get_shares_internal is from the call to __get_drive_mappings.) Other times it the times were spread over 1.5s - 2.5s, 6s-7.5s. Anyway, even worst-case it's not very long - < 20 microseconds. Thanks, bye, Rich =] -- Richard Dawe [ http://www.phekda.freeserve.co.uk/richdawe/ ]