delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/1997/10/15/17:35:35

Message-Id: <3.0.1.32.19971015163111.0069d4d4@yacker.xiotech.com>
Date: Wed, 15 Oct 1997 16:31:11 -0500
To: djgpp-workers AT delorie DOT com
From: Randy Maas <randym AT acm DOT org>
Subject: 971009: FileSysExt's Rev D. p1
Mime-Version: 1.0

--=====================_876969071==_
Content-Type: text/plain; charset="us-ascii"

I've finished checking all the file system extension changes I made against
the 971009 libc version.    Here's is a quick summary of what is different
from the last versions I posted:

1. pipe exists and works.
2. dup2 is a file system extension.  I think it may be better through
fcntl, in turn through the fse, but this didn't seem very standard.  I
needed dup2 to be emulated so I could set the pipe parts to stdin and stdout.
3. I reworked it so not every last emulator need be linked in.  Now, for
example, a call to _dup2 will add _dup2_emu to the emulator list. 
4. I made some changes to the documentation to reflect the above.  I may
not be the best documentor, but I've tried 8-)

As before, I'll upload the whole shabang as fs971009d.zip to the incoming
folder.

So now, here are the .h diffs.
Randy Maas
randym AT acm DOT org
--=====================_876969071==_
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: attachment; filename="fsext-h.dif"

diff -c2 src\libc\fsext\fsext.h fsext.h 
*** \local\ginsu\lib\fsext.old	Mon Aug 12 23:18:10 1996
--- fsext.h	Sun Oct 12 17:25:46 1997
***************
*** 25,28
    __FSEXT_fcntl,
    __FSEXT_ioctl,
  } __FSEXT_Fnumber;
  

--- 25,33 -----
    __FSEXT_fcntl,
    __FSEXT_ioctl,
+   __FSEXT_lseek,
+   __FSEXT_link,
+   __FSEXT_unlink,
+   __FSEXT_copy,
+   __FSEXT_dup2
  } __FSEXT_Fnumber;
  
***************
*** 36,40
     caller's functionality. */
  typedef int (__FSEXT_Function)(__FSEXT_Fnumber _function_number,
! 			       int *_rv, va_list _args);
  
  int               __FSEXT_alloc_fd(__FSEXT_Function *_function);

--- 41,45 -----
     caller's functionality. */
  typedef int (__FSEXT_Function)(__FSEXT_Fnumber _function_number,
!                                int *_rv, va_list _args, void* state);
  
  int               __FSEXT_alloc_fd(__FSEXT_Function *_function, void* state);
***************
*** 38,43
  			       int *_rv, va_list _args);
  
! int               __FSEXT_alloc_fd(__FSEXT_Function *_function);
! int               __FSEXT_set_function(int _fd, __FSEXT_Function *_function);
  __FSEXT_Function *__FSEXT_get_function(int _fd);
  

--- 43,49 -----
                                 int *_rv, va_list _args, void* state);
  
! int               __FSEXT_alloc_fd(__FSEXT_Function *_function, void* state);
! int               __FSEXT_set_function(int _fd, __FSEXT_Function *_function,
!                                        void* state);
  __FSEXT_Function *__FSEXT_get_function(int _fd);
  int               __FSEXT_get_handler(int _fd, __FSEXT_Function** func,
***************
*** 41,45
  int               __FSEXT_set_function(int _fd, __FSEXT_Function *_function);
  __FSEXT_Function *__FSEXT_get_function(int _fd);
! 
  int               __FSEXT_add_open_handler(__FSEXT_Function *_function);
  int               __FSEXT_call_open_handlers(__FSEXT_Fnumber _function_number,

--- 47,55 -----
                                         void* state);
  __FSEXT_Function *__FSEXT_get_function(int _fd);
! int               __FSEXT_get_handler(int _fd, __FSEXT_Function** func,
!                                          void** state);
! int               __FSEXT_Call(__FSEXT_Fnumber, int, va_list);
! void              __FSEXT_Emu_add (__FSEXT_Function *_function);
! int               __FSEXT_Emu (__FSEXT_Fnumber, int*, va_list, void*);
  int               __FSEXT_add_open_handler(__FSEXT_Function *_function);
  int               __FSEXT_call_open_handlers(__FSEXT_Fnumber _function_number,

--=====================_876969071==_
Content-Type: text/plain; charset="us-ascii"



--=====================_876969071==_--

- Raw text -


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