Mail Archives: djgpp-workers/1997/10/15/17:35:35
--=====================_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 -