> Hello all, > It is true that no DOS provides pipes. HX makes up for this by creating > a > new file and opening 2 instances (1 read only)--per the HX docs that I > looked at on Sunday.
This is very similar to what COMMAND.COM (/FreeCOM/4DOS/RxCMD) does for I/O redirection and pipes between commands ( |, <, > on the command line). > If SHARE is not loaded, this ostensibly "may not > work as expected." Yes, because the file might be written by other processes than the one that got to write the pipe, or it might be deleted by a process. The former causes unexpected input for the reading process, the latter might cause filesystem corruption and/or data loss. > Christian: > Is your file sharer ready yet (able to load & reliably share files)? No. Most code of the actual hook handling is done, but it doesn't load yet and some of the code to call it from DOS is not yet integrated in the kernel. The former will be fixed by migrating the TSR installation/command line parsing/configuration from another TSR I wrote some time ago. > Does it work under FreeDOS, or RxDOS only? Currently I'm only working on RxDOS, so it doesn't work on DOS-C (FreeDOS kernel). Since the hook method uses a far call with a number of parameters in registers, some complicated interfacing will be required if it's to be used with DOS-C's C source code. Another problem is that the file sharer installation code currently requires RxDOS. It checks whether the running DOS is RxDOS (7.30+, so my new version only) by issuing Int21.335E - a newly defined call that returns a special value in ax to tell that a DOS version supporting this call is present. RxDOS returns "Rx", along with some version information in the other registers (dx, cx, bx, si, di). If that check succeeds, the new RxDOS internal list of pointers is retrieved using Int21.335F. The version number at the beginning is checked, the pointer to the list of hooks is retrieved and the version number at the beginning of the hook list is checked as well. Also, to set the "file sharing installed" flag in the SDA, the file sharer calls the original Int21 entry (found in the list of pointers too) to get the address of the SDA. DOS-C needs at least a reliable installation check with build number, and a new function to return the address of the file sharing hook if it was to support the RxDOS file sharer. Instead of changing DOS-C to use my file sharer, the current FreeDOS SHARE could be adapted to handle things correctly. The API would at least require an update, however. If Jeremy is looking into SHARE right now, you won't have to use my code. > It seems to me that use of assembly is better than C _under certain > conditions_: > If the active developers prefer to write assembly > If C is unclear/unportable > If an assembly program is ready > If a C version is deemed stable and unlikely to change, a translation is > fit If the code is to stay in memory If developers tend to care more about source compatibility to different compilers than actual source content ;-) If the assembler is "more free" :-P (recent NASM versions are 2-clause BSD) Regards, Christian ------------------------------------------------------------------------------ Enter the BlackBerry Developer Challenge This is your chance to win up to $100,000 in prizes! For a limited time, vendors submitting new applications to BlackBerry App World(TM) will have the opportunity to enter the BlackBerry Developer Challenge. See full prize details at: http://p.sf.net/sfu/blackberry _______________________________________________ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel