[openi18n-im:01425] IM_FILE_OPERATION specification

AShiZaWa KaZuNoRi <[email protected]> Tue, 21 Jun 2005 15:41:22 +0900
Newsgroups gmane.comp.internationalization.input-methods
Message-ID <[email protected]>
Hi all,

I've updated doc/protocol/spec.html to include description of
IM_FILE_OPERATION message and related data types.  Please take a
look at this, and please suggest any improvements.

I'll start to enhance the current implementation (libiiimp.so)
with this definition.

******
Updated chapters are:

3.2 Composite Data Types

  All FILE_OPERATION* data types.

11. File Operation

  New chapter.

12. Protocol Format

  IM_FILE_OPERATION(Client<-Server)
  IM_FILE_OPERATION_REPLY(Client->Server)

Appendix D. File Operation Identifier Numbers

  New appendix.

Appendix D. File Operation Error Numbers

  New appendix.  Empty yet.

******
The key updates from the current implementation are:

1. IM_FILE_OPERATION supports multiple file operation in a
   single message.  I think this feature will be useful in the
   future enhancement for (real) name space based file I/O
   implementation.

2. uid and gid are changed to STRING from CARD32.  The server
   and the client can run on different systems that do not share
   the naming service.  In this case, uid and gid numbers might
   not match.  STRING value should be portable.  This issue is
   suggested by some LE developer.

3. Mapping of error numbers.  The server and the client can run
   on different systems this does not share the architecture.
   In that case, values of errno might not match.  This issue is
   suggested by some LE developer.

4. FILE_OPERATION_FCNTL_REQUEST arg is changed to composite data
   from CARD32.

5. ns_id (similar to file descriptor) is removed.  Existing
   implementation send this data even when no file descriptor is
   associated.

6. Reorder the arguments to align with corresponding function
   call (system call).

Thanks and regards,
-- 
kasha