cleanup and documentation updates
[webpac] / openisis / doc / Api.txt
diff --git a/openisis/doc/Api.txt b/openisis/doc/Api.txt
deleted file mode 100644 (file)
index 5c17843..0000000
+++ /dev/null
@@ -1,190 +0,0 @@
-Note: the follwing list might be somewhat out of date,
-but probably you get the picture.
-
-There is a major overhaul of the API from 0.8.7 to 0.9 underway:
-The concept of a session is introduced to allow for safe
-and efficient multithreaded concurrency.
-Nearly every API call has a Session parameter,
-and basic system services like memory allocation
-and stdio are bound to sessions.
-All but the control calls may be called from any session in any thread
-(but from no single session in more than one thread).
-All but the database calls will moreover execute in parallel
-without any interlocking.
-
-
-The new Api is organised in the following sections:
--      M et al: memory & utilities
--      S: session & stream IO
--      R: record
--      D: db IO
--      F: fdt utilities
--      N: network stubs
--      C: control
-       the control calls are the only calls w/o a Session parameter,
-       since they MUST NOT be called from any but the default session
-
-
-There is also an
->      Concurrency     overview
-on concurrency and synchronization in OpenIsis.
-
-*      naming conventions
-
-All calls besides some common utilities start with
-the letter of their respective section followed by
-an uppercase letter.
-Functions are mixed case with initial lower,
-types are mixed case with initial upper and macros
-and enum values are all upper, variables are all lower case.
-
-For convenience, there are two versions of the "OpenIsis namespace":
--      in the official version as given by openisis.h,
-       every call starts with openIsis followed by an uppercase letter.
-       Every type starts with OpenIsis, and every macro with OPENISIS_.
--      inside the "OpenIsis namespace", as given by loi.h,
-       the leading openIsis is cut of to avoid cluttering,
-       while preserving the case rules.
-
-As an example, OpenIsisSession and openIsisMAlloc may be used
-as Session and mAlloc with loi.h.
-
-*      transition
-
-The old (0.8.7) interface is retained via macros refering to the default
-session. During the transition process, some calls will also get
-a redesign with respect to other parameters,
-for example, by replacing an argv/argc list by a Record.
-It should, however, be reasonably safe to refer to the old interface.
-
-The following list is neither complete nor fixed,
-but rather a roadmap.
-The mapping of old to new calls is not always one-to-one.
-
-*      M et al: memory & utilities
-
-$
-mAlloc
-mFree
-mDup
-
-toHtml openIsis2Html
-utf8Chk        openIsisValidUTF8
-$
-
-*      S: session & stream IO
-
-$
-Session        OpenIsisSession
-Stream OpenIsisStream
-sMsg   openIsisMsg
-sOpen  openIsisSopen
-sGets  openIsisSGets
-sReadln        openIsisSReadln
-sGetr  openIsisReadStream
-$
-
-*      R: record
-
-$
-Field  OpenIsisField
-Rec    OpenIsisRec
-rSplit openIsisReadField
-rDup   openIsisClone
-rMsg   openIsisPrintf
-rFmt   openIsisFmt
-rSel   (openIsisFmt)
-$
-
-*      D: db IO
-
-$
-dRead  openIsisReadRow
-dRaw   openIsisReadRaw
-dFmt   openIsisRead
-dWrite openIsisWrite
-dMaxId openIsisMaxRowid
-dScan  openIsisScan
-dQuery openIsisQuery
-dWhere (openIsisQuery)
-dTerm  openIsisTerm
-dIndex (openIsisTerm)
-dIndex openIsisIdxLoop
-$
-
-
-*      C: control
-
-$
-cInit  openIsisInit
-cOpen
-cClose
-cSet   openIsisLog
-cSession       openIsisSesGet
-cDOpen openIsisOpen
-cDCheck        openIsisCheck
-cDClose        openIsisClose
-cXOpen openIsisIdxOpen
-cXBadd openIsisIdxAdd
-$
-
-In the multithreaded server, sessions are actually
-created by the multiplexer, which need not be in the same
-thread as the default session.
-
-
-*modules       library modules
-
-This, too, describes the should-be rather than current state:
--      uti:    Memory and other basic utilities
--      io:     internal operating system access
--      ses:    Sessions and Streams
--      fdt:    fdt utils and global system fdts
--      fmt:    the rSel formatting
--      rec:    other R tools
--      stb:    Stubs
--      str:    internal structure
--      cs:     character sets
--      bt:     index X access
--      qry:    the dWhere query
--      db:     most Db and Control
-
-
-*      initialization order:
-
--      cOpen: default cs
--      cOpen: io fd 0-2 (windoze)
--      cOpen: default session w/o params, pulls memory
--      cOpen: default session w/ params
--      cDOpen: cOpen
--      cDOpen: str
--      cDOpen: database
--      cSession: other sessions
-
-*ISOC  a note on ISO C
-
-It became obvious that there is little we can use from the system,
-partly due to compatibility problems,
-partly due to the multithreaded environment we need.
-stdio doesn't work at all and malloc heap management needs to be wrapped.
-
-Thus the use of libc (at least outside of lio.c) is limited
-more or less to string.h (for strlen, memcpy, memcmp).
-I found that in many places the sole reason to include any system header,
-namely stddef.h, is NULL and size_t.
-
-
-We require an ISO C (a.k.a. ANSI C a.k.a. STDC) compiler anyway.
-Studying the standard, I found that the use of NULL is completely
-obsolete in ISO C, since the relation between "NULL pointers",
-the 0 literal and conditional expressions is well defined _by the compiler_.
-What stddef.h does, is only _suggested_, and looking at gcc's stddef.h,
-it is a rather desperate attempt to arrange for all that
-should be _despite_ any system environment.
-The same holds for size_t, ssize_t, off_t, ptrdiff_t, you name it:
-it's a broken interface to a broken "standard" library,
-so we don't use it anymore.
-
-
----
-       $Id: Api.txt,v 1.8 2003/05/01 10:06:32 mawag Exp $