=================================================================== RCS file: /home/cvs/OpenXM/doc/OpenXM-specs/library.tex,v retrieving revision 1.1 retrieving revision 1.6 diff -u -p -r1.1 -r1.6 --- OpenXM/doc/OpenXM-specs/library.tex 2000/01/20 08:52:46 1.1 +++ OpenXM/doc/OpenXM-specs/library.tex 2002/01/20 09:26:22 1.6 @@ -1,4 +1,4 @@ -%% $OpenXM$ +%% $OpenXM: OpenXM/doc/OpenXM-specs/library.tex,v 1.5 2000/09/08 18:57:49 takayama Exp $ /*&jp \section{ OX ¥µ¡¼¥Ð¤ËÂФ¹¤ë C ¥é¥¤¥Ö¥é¥ê¥¤¥ó¥¿¥Õ¥§¡¼¥¹ } @@ -14,28 +14,31 @@ Asir ¤Î OX ¥µ¡¼¥ÐÍÑ¥¯¥é¥¤¥¢¥ó¥È´Ø¿ô¤Ë»÷¤¿¥¤¥ó¥¿¥Õ¥§¡¼¥ \section{ OX servers as a C library} In some OX servers, one can use the OX server as a C library. -The interface functions of the C library -are similar to Asir OX client functions such as -\verb+ ox_push_cmo() +, \verb+ ox_pop_cmo() +. +The API to the C library +is similar to Asir OX client API such as +{\tt ox\_push\_cmo()}, {\tt ox\_pop\_cmo()}. -CMO should be in the binary encoded form to call these functions. +CMO should be converted into the binary encoded form to call these functions. */ /*&C \medbreak \begin{verbatim} - int xxx_ox_byte_order(int type) + int xxx_ox_init(int type) \end{verbatim} */ /*&eg - Specify the byte order to send int32 to the OX server xxx. - When type = 0, the network byte order will be used. + This function initializes the library interface. + {\tt type} specifies the byte order to send int32 to the OX server xxx. + If type is equal to 0, the native byte order will be used. + If type is equal to 1, the network byte order will be used. In case of error, -1 will be returned. */ /*&jp + ¤³¤Î´Ø¿ô¤Ï¥é¥¤¥Ö¥é¥ê¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î½é´ü²½¤ò¹Ô¤¦. OX ¥µ¡¼¥Ð xxx ¤Ø int32 ¤òÁ÷¤ë¤¿¤á¤Î byte order ¤ò type ¤Ç»ØÄꤹ¤ë. - ¥é¥¤¥Ö¥é¥ê¤Ç¤Ï¤¢¤ë¤¬, - type = 0 ¤Ç, network byte order ¤ò»ÈÍѤǤ­¤Ê¤¤¤È¤¤¤±¤Ê¤¤?? + type = 0 ¤Î¾ì¹ç native byte order ¤¬ÀßÄꤵ¤ì¤ë. + type = 1 ¤Î¾ì¹ç network byte order ¤¬ÀßÄꤵ¤ì¤ë. ¼ºÇÔ¤·¤¿¾ì¹ç, -1 ¤òÌ᤹. */ @@ -43,22 +46,21 @@ CMO should be in the binary encoded form to call these \smallskip \begin{verbatim} - void xxx_ox_push_cmo(void *cmo, int size) + void xxx_ox_push_cmo(void *cmo) \end{verbatim} */ /*&eg -Push the binary encoded CMO {\tt cmo} of the size {\tt size} -onto the stack of the OX server xxx. +Push the binary encoded CMO {\tt cmo} onto the stack of the OX server xxx. */ /*&jp -Binary encoded ¤µ¤ì¤¿ CMO (¥µ¥¤¥º¤Ï size) ¤ò, OX ¥µ¡¼¥Ð xxx +Binary encoded ¤µ¤ì¤¿ CMO ¤ò, OX ¥µ¡¼¥Ð xxx ¤Î stack ¤Ë push ¤¹¤ë. */ /*&C \smallskip \begin{verbatim} - int xxx_ox_pop_cmo(void *cmo, int limit) + int xxx_ox_pop_cmo(void cmo, int limit) \end{verbatim} */ /*&eg @@ -88,34 +90,44 @@ Stack underflow ¤Î¾ì¹ç¤ÎÌá¤êÃÍ¤Ï 0 ¤Ç¤¢¤ë. /*&eg Return the size of the CMO at the top of the stack. */ +/*&jp +stack ¤Î°ìÈÖ¾å¤Ë¤¢¤ë CMO ¤Î¥µ¥¤¥º¤ò byte ¤ÇÌ᤹. +*/ -/*&C - -\smallskip +\smallbreak \begin{verbatim} - int xxx_ox_peek_cmo_size() + void xxx_ox_push_cmd(int cmd) \end{verbatim} +/*&eg +This function sends a stack machine command +({\tt OX\_COMMAND},int32 cmd) to a server. */ /*&jp -stack ¤Î°ìÈÖ¾å¤Ë¤¢¤ë CMO ¤Î¥µ¥¤¥º¤ò byte ¤ÇÌ᤹. -( ¥é¥¤¥Ö¥é¥êÈÇÆÃÍ­ ) +({\tt OX\_COMMAND},int32 cmd) ¤ò¥µ¡¼¥Ð¤ËÁ÷¤ë. */ -/*&C - -\smallbreak \begin{verbatim} -ox_push_cmd(), ox_execute_string() + void xxx_ox_execute_string(char *s) \end{verbatim} -*/ /*&eg -These functions have the same specification with those -in Asir client functions. See Asir document. -Numbers should be given in int 32 and strings should be given -by char * +This function requests a server to execute a command expressed by +a string {\tt s}. +{\tt s} should be acceptable by the parser of the server. */ /*&jp -¤Ë¤Ä¤¤¤Æ¤Ï, Asir ¥¯¥é¥¤¥¢¥ó¥È¤ÈƱ¤¸¥¤¥ó¥¿¥Õ¥§¡¼¥¹. -¿ô¤Ï int32 ¤Ç, ʸ»úÎó¤Ï char * ¤Ç. +ʸ»úÎó {\tt s} ¤ò¥µ¡¼¥Ð¤Ë¼Â¹Ô¤µ¤»¤ë. {\tt s} ¤Ï¥µ¡¼¥Ð¤Î¥Ñ¡¼¥¶ +¤¬¼õÍý²Äǽ¤Ê¤â¤Î¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤. +*/ + +//&C + +/*&jp +¥é¥¤¥Ö¥é¥ê¥â¡¼¥É¤Î¥µ¥ó¥×¥ë¥½¡¼¥¹¤Ï {\tt OpenXM/doc/oxlib} +¤Ë¤¢¤ë. +*/ + +/*&eg +Sample source codes to use the library mode interface can be found in +{\tt OpenXM/doc/oxlib}. */