version 1.3, 1999/12/15 02:44:12 |
version 1.5, 1999/12/15 09:24:46 |
|
|
# Author: ¾®¸¶¸ùǤ @ ¶âÂôÂç³ØÍý³ØÉô·×»»²Ê³Ø¶µ¼¼ |
# Author: ¾®¸¶¸ùǤ @ ¶âÂôÂç³ØÍý³ØÉô·×»»²Ê³Ø¶µ¼¼ |
# URI: http://omega.s.kanazawa-u.ac.jp/ohara/ |
# URI: http://omega.s.kanazawa-u.ac.jp/ohara/ |
# $OpenXM: OpenXM/src/ox_toolkit/README,v 1.2 1999/12/15 01:59:58 ohara Exp $ |
# $OpenXM: OpenXM/src/ox_toolkit/README,v 1.4 1999/12/15 08:04:50 ohara Exp $ |
|
|
¡ù libox.a ¥Þ¥Ë¥å¥¢¥ë¡£ |
/*&ja ox_toolkit ¥æ¡¼¥¶¥¬¥¤¥É |
|
|
|
*/ |
|
/*&en A user's guide for ox_toolkit. |
|
|
|
*/ |
|
/*&ja |
libox.a ¤òÍøÍѤ¹¤ë¤Ë¤Ï¼¡¤Î¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤ò¥¤¥ó¥¯¥ë¡¼¥É¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ |
libox.a ¤òÍøÍѤ¹¤ë¤Ë¤Ï¼¡¤Î¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤ò¥¤¥ó¥¯¥ë¡¼¥É¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ |
|
*/ |
|
/*&en |
|
How to use OpenXM C library? |
|
|
|
The OpenXM C libraiy has header files: |
|
*/ |
|
/*&common |
|
|
#include <oxtag.h> |
#include <oxtag.h> |
#include <ox.h> |
#include <ox.h> |
#include <parse.h> |
#include <parse.h> |
|
|
³Æ¹½Â¤ÂΤª¤è¤Ó´Ø¿ô¤ÎÀë¸À¤Ï¤½¤ì¤¾¤ì¤Î¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤ò¸«¤Æ¤¯¤À¤µ¤¤¡£ |
*/ |
¤³¤³¤Ç¤Ï´ðËÜŪ¤Ê¹Í¤¨Êý¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£ |
/*&ja |
|
|
¤Þ¤º¡¢¤¹¤Ù¤Æ¤Î CMO ¥Ç¡¼¥¿¤Ï¤½¤Î¥Ç¡¼¥¿·¿¤ËÂбþ¤·¤¿ new ´Ø¿ô¤Ë¤è¤Ã¤ÆÀ¸À® |
|
¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð CMO_ZZ ·¿¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ï new_cmo_zz() ´Ø¿ô¤Ë¤è¤Ã¤ÆÀ¸ |
|
À®¤µ¤ì¤Þ¤¹¡£ |
|
|
|
CMO ¥Ç¡¼¥¿¤òÁ÷¼õ¿®¤¹¤ë¤Ë¤Ï¡¢CMO ¤Î¼ïÎà¤Ë¤è¤é¤º send_cmo(), |
|
receive_cmo() ¤òÍѤ¤¤Þ¤¹¡£¤³¤ì¤é¤Î´Ø¿ô¤Ï OX ¥Ø¥Ã¥À¤ò°·¤¤¤Þ¤»¤ó¤Î¤Ç¡¢OX |
|
¥á¥Ã¥»¡¼¥¸¤òÁ÷¼õ¿®¤¹¤ë¤È¤¤Ë¤Ï send_ox_tag(), receive_ox_tag() ¤ò¤½¤Î |
|
Á°¤Ë¸Æ¤ÖɬÍפ¬¤¢¤ê¤Þ¤¹¡£ |
|
|
|
1. ¥Ç¡¼¥¿·¿ |
1. ¥Ç¡¼¥¿·¿ |
|
|
¤³¤Î¥Ä¡¼¥ë¥¥Ã¥È¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë³Æ¹½Â¤ÂΤÎÀ¸À®¤Ë¤Ä¤¤¤Æ¤Ï¼¡Àá¤ò»²¾È¤»¤è¡£ |
¤³¤Î¥Ä¡¼¥ë¥¥Ã¥È¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë³Æ¹½Â¤ÂΤÎÀ¸À®¤Ë¤Ä¤¤¤Æ¤Ï¼¡Àá¤ò»²¾È¤»¤è¡£ |
|
|
1.1 CMO (Common Math Object) |
1.1 CMO (Common Math Object) |
¼¡¤Î¥Ç¡¼¥¿·¿(¹½Â¤ÂÎ)¤¬ÍÑ°Õ¤µ¤ì¤Æ¤¤¤ë¡£ |
¼¡¤Î¥Ç¡¼¥¿·¿(¹½Â¤ÂÎ)¤¬ÍÑ°Õ¤µ¤ì¤Æ¤¤¤ë¡£ |
|
*/ |
|
/*&en |
|
1. Types |
|
|
|
1.1 CMO (Common Math Object) |
|
The following structures is defined in ox.h: |
|
*/ |
|
/*&common |
|
|
cmo |
cmo |
cmo_null |
cmo_null |
cmo_int32 |
cmo_int32 |
Line 46 cmo_distributed_polynomial |
|
Line 56 cmo_distributed_polynomial |
|
cmo_indeterminate |
cmo_indeterminate |
cmo_error2 |
cmo_error2 |
|
|
|
*/ |
|
/*&ja |
¤³¤Î¤¦¤Á cmo ·¿¤Ï¤¤¤ï¤ÐÃê¾Ý´ðÄ쥯¥é¥¹¤ËÁêÅö¤¹¤ë¤â¤Î¤Ç¤¢¤ê¡¢¤³¤Î·¿¤Î¥ª |
¤³¤Î¤¦¤Á cmo ·¿¤Ï¤¤¤ï¤ÐÃê¾Ý´ðÄ쥯¥é¥¹¤ËÁêÅö¤¹¤ë¤â¤Î¤Ç¤¢¤ê¡¢¤³¤Î·¿¤Î¥ª |
¥Ö¥¸¥§¥¯¥È¤òÌÀ¼¨Åª¤Ë¤ÏÀ¸À®¤µ¤ì¤Ê¤¤¡£¤³¤Î¥¯¥é¥¹¤Ï¥Ý¥¤¥ó¥¿·¿¤Î¥¥ã¥¹¥È¤Î |
¥Ö¥¸¥§¥¯¥È¤òÌÀ¼¨Åª¤Ë¤ÏÀ¸À®¤µ¤ì¤Ê¤¤¡£¤³¤Î¥¯¥é¥¹¤Ï¥Ý¥¤¥ó¥¿·¿¤Î¥¥ã¥¹¥È¤Î |
¤¿¤á¤ËÍÑ°Õ¤µ¤ì¤Æ¤¤¤ë¡£¤Þ¤¿ cmo_distributed_polynomial ¤Ï cmo_list ¤ÎÇÉ |
¤¿¤á¤ËÍÑ°Õ¤µ¤ì¤Æ¤¤¤ë¡£¤Þ¤¿ cmo_distributed_polynomial ¤Ï cmo_list ¤ÎÇÉ |
À¸¥¯¥é¥¹¤Ç¤¢¤ë¤È»×¤Ã¤Æ¤â¤è¤¤¡£ |
À¸¥¯¥é¥¹¤Ç¤¢¤ë¤È»×¤Ã¤Æ¤â¤è¤¤¡£ |
|
|
|
*/ |
|
/*&en |
|
The cmo above is similer to abstract base class; |
|
you never make an object of cmo class. |
|
|
|
*/ |
|
/*&ja |
1.2 OX ¥ª¥Ö¥¸¥§¥¯¥È |
1.2 OX ¥ª¥Ö¥¸¥§¥¯¥È |
¼¡¤Î¥Ç¡¼¥¿·¿(¹½Â¤ÂÎ)¤¬ÍÑ°Õ¤µ¤ì¤Æ¤¤¤ë¡£ |
¼¡¤Î¥Ç¡¼¥¿·¿(¹½Â¤ÂÎ)¤¬ÍÑ°Õ¤µ¤ì¤Æ¤¤¤ë¡£ |
|
*/ |
|
/*&en |
|
1.2 OX objects |
|
The following structures is defined in ox.h: |
|
*/ |
|
/*&common |
|
|
ox |
ox |
ox_command |
ox_command |
ox_data |
ox_data |
|
|
|
*/ |
|
/*&ja |
¤³¤Î¤¦¤Á¡¢ox ·¿¤ÏÃê¾Ý´ðÄ쥯¥é¥¹¤Ê¤Î¤Ç¡¢¥ª¥Ö¥¸¥§¥¯¥È¤ò¤Ä¤¯¤Ã¤Æ¤Ï¤¤¤±¤Ê¤¤¡£ |
¤³¤Î¤¦¤Á¡¢ox ·¿¤ÏÃê¾Ý´ðÄ쥯¥é¥¹¤Ê¤Î¤Ç¡¢¥ª¥Ö¥¸¥§¥¯¥È¤ò¤Ä¤¯¤Ã¤Æ¤Ï¤¤¤±¤Ê¤¤¡£ |
|
|
|
*/ |
|
/*&en |
|
The ox above is abstract base class. |
|
|
|
*/ |
|
/*&ja |
2. ¥ª¥Ö¥¸¥§¥¯¥È¤ÎÀ¸À® |
2. ¥ª¥Ö¥¸¥§¥¯¥È¤ÎÀ¸À® |
|
|
¥ª¥Ö¥¸¥§¥¯¥È¤òÀ¸À®¤¹¤ë¤¿¤á¤Ë¡¢new ´Ø¿ô·²¤¬ÍÑ°Õ¤µ¤ì¤Æ¤¤¤ë¡£¤½¤ì¤¾¤ì¤Î´Ø |
¥ª¥Ö¥¸¥§¥¯¥È¤òÀ¸À®¤¹¤ë¤¿¤á¤Ë¡¢new ´Ø¿ô·²¤¬ÍÑ°Õ¤µ¤ì¤Æ¤¤¤ë¡£¤½¤ì¤¾¤ì¤Î´Ø |
¿ô¤Ï¥ª¥Ö¥¸¥§¥¯¥È¤òÀ¸À®¤·¤Æ¡¢¤½¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ø¤Î¥Ý¥¤¥ó¥¿¤òÊÖ¤¹¡£ |
¿ô¤Ï¥ª¥Ö¥¸¥§¥¯¥È¤òÀ¸À®¤·¤Æ¡¢¤½¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ø¤Î¥Ý¥¤¥ó¥¿¤òÊÖ¤¹¡£ |
|
*/ |
|
/*&en |
|
2. How to make CMObjects? |
|
|
|
You may use new functions which generate an object and return its pointer. |
|
*/ |
|
/*&common |
|
|
new_cmo_null(); |
new_cmo_null(); |
new_cmo_int32(int i); |
new_cmo_int32(int i); |
new_cmo_string(char* s); |
new_cmo_string(char* s); |
Line 83 new_cmo_ring_by_name(cmo* ob); |
|
Line 123 new_cmo_ring_by_name(cmo* ob); |
|
new_cmo_indeterminate(cmo* ob); |
new_cmo_indeterminate(cmo* ob); |
new_cmo_error2(cmo* ob); |
new_cmo_error2(cmo* ob); |
|
|
|
*/ |
|
/*&ja |
3. ¹â¿å½à API |
3. ¹â¿å½à API |
|
|
¹â¿å½à API ¤Ï¡ÖOpenXM ¥¯¥é¥¤¥¢¥ó¥È¡×¤«¤éÍøÍѤ¹¤ë¤³¤È¤òÁ°Äó¤ËÀ߷פµ¤ì¤Æ¤¤¤ë¡£ |
¹â¿å½à API ¤Ï¡ÖOpenXM ¥¯¥é¥¤¥¢¥ó¥È¡×¤«¤éÍøÍѤ¹¤ë¤³¤È¤òÁ°Äó¤ËÀ߷פµ¤ì¤Æ¤¤¤ë¡£ |
Line 90 new_cmo_error2(cmo* ob); |
|
Line 132 new_cmo_error2(cmo* ob); |
|
3.1 ÄÌ¿®¤Î³«»Ï |
3.1 ÄÌ¿®¤Î³«»Ï |
|
|
ÄÌ¿®¤ò³«»Ï¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢¼¡¤Î´Ø¿ô¤Î¤¤¤º¤ì¤«¤òÍøÍѤ¹¤ë¡£ |
ÄÌ¿®¤ò³«»Ï¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢¼¡¤Î´Ø¿ô¤Î¤¤¤º¤ì¤«¤òÍøÍѤ¹¤ë¡£ |
|
*/ |
|
/*&en |
|
3. High-level API |
|
|
|
High-level API is prepared for implementation of your OpenXM clients. |
|
|
|
3.1 How to make connection to OpenXM server? |
|
|
|
You may call ox_start or ox_start_insecure_nonreverse. |
|
*/ |
|
/*&common |
|
|
ox_file_t ox_start(char* host, char* prog1, char* prog2); |
ox_file_t ox_start(char* host, char* prog1, char* prog2); |
ox_file_t ox_start_insecure_nonreverse(char* host, short portControl, short portStream); |
ox_file_t ox_start_insecure_nonreverse(char* host, short portControl, short portStream); |
|
|
|
*/ |
|
/*&ja |
Âè°ì¤Î´Ø¿ô¤Ï¡¢¥í¡¼¥«¥ë¥Þ¥·¥ó¾å¤Ë OpenXM ¥µ¡¼¥Ð¤òµ¯Æ°¤·¡¢¤½¤Î¥µ¡¼¥Ð¤È¤Î |
Âè°ì¤Î´Ø¿ô¤Ï¡¢¥í¡¼¥«¥ë¥Þ¥·¥ó¾å¤Ë OpenXM ¥µ¡¼¥Ð¤òµ¯Æ°¤·¡¢¤½¤Î¥µ¡¼¥Ð¤È¤Î |
´Ö¤Ë"reverse ¥â¡¼¥É"¤ÇÄÌ¿®Ï©¤ò³«Àߤ¹¤ë¡£ÄÌ¿®¤Ë»È¤ï¤ì¤ë¥Ý¡¼¥ÈÈÖ¹æ¤Ï¼«Æ° |
´Ö¤Ë"reverse ¥â¡¼¥É"¤ÇÄÌ¿®Ï©¤ò³«Àߤ¹¤ë¡£ÄÌ¿®¤Ë»È¤ï¤ì¤ë¥Ý¡¼¥ÈÈÖ¹æ¤Ï¼«Æ° |
Ū¤ËÀ¸À®¤µ¤ì¤ë¡£host ¤Ï¥í¡¼¥«¥ë¥Þ¥·¥ó¤Î¥Û¥¹¥È̾(¤¢¤ë¤¤¤Ï "localhost")¡¢ |
Ū¤ËÀ¸À®¤µ¤ì¤ë¡£host ¤Ï¥í¡¼¥«¥ë¥Þ¥·¥ó¤Î¥Û¥¹¥È̾(¤¢¤ë¤¤¤Ï "localhost")¡¢ |
Line 109 portStream ¤Ï·×»»¥µ¡¼¥Ð¤È¤ÎÄÌ¿®¤Î¤¿¤á¤Î¥Ý¡¼¥ÈÈÖ¹æ¤Ç¤¢¤ |
|
Line 164 portStream ¤Ï·×»»¥µ¡¼¥Ð¤È¤ÎÄÌ¿®¤Î¤¿¤á¤Î¥Ý¡¼¥ÈÈÖ¹æ¤Ç¤¢¤ |
|
¤½¤ì¤¾¤ì¤Î´Ø¿ô¤Ï¥µ¡¼¥Ð(Àµ³Î¤Ë¤ÏÆó¤Ä¤Î¥µ¡¼¥Ð¤ÎÁÈ)¤Î¼±Ê̻ҤòÊÖ¤¹¡£ |
¤½¤ì¤¾¤ì¤Î´Ø¿ô¤Ï¥µ¡¼¥Ð(Àµ³Î¤Ë¤ÏÆó¤Ä¤Î¥µ¡¼¥Ð¤ÎÁÈ)¤Î¼±Ê̻ҤòÊÖ¤¹¡£ |
¤³¤Î¼±Ê̻ҤϹâ¿å½à API ¤Î³Æ´Ø¿ô¤ÇÍøÍѤµ¤ì¤ë¡£ |
¤³¤Î¼±Ê̻ҤϹâ¿å½à API ¤Î³Æ´Ø¿ô¤ÇÍøÍѤµ¤ì¤ë¡£ |
|
|
|
*/ |
|
/*&ja |
3.2 ÄÌ¿®¤Î½ªÎ» |
3.2 ÄÌ¿®¤Î½ªÎ» |
|
|
ÄÌ¿®¤Î½ªÎ»¤Î¤¿¤á¤Ë¤Ï¼¡¤ÎÆó¤Ä¤Î´Ø¿ô¤¬ÍÑ°Õ¤µ¤ì¤Æ¤¤¤ë¡£ |
ÄÌ¿®¤Î½ªÎ»¤Î¤¿¤á¤Ë¤Ï¼¡¤ÎÆó¤Ä¤Î´Ø¿ô¤¬ÍÑ°Õ¤µ¤ì¤Æ¤¤¤ë¡£ |
|
|
|
*/ |
|
/*&en |
|
3.2 How to close connection to OpenXM server? |
|
|
|
You may call ox_close or ox_shutdown. |
|
|
|
*/ |
|
/*&common |
void ox_close(ox_file_t sv); |
void ox_close(ox_file_t sv); |
void ox_shutdown(ox_file_t sv); |
void ox_shutdown(ox_file_t sv); |
|
|
|
*/ |
|
/*&ja |
Âè°ì¤Î´Ø¿ô¤Ï¥³¥ó¥È¥í¡¼¥ë¥µ¡¼¥Ð¤Ë SM_control_kill ¤òÁ÷¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢ |
Âè°ì¤Î´Ø¿ô¤Ï¥³¥ó¥È¥í¡¼¥ë¥µ¡¼¥Ð¤Ë SM_control_kill ¤òÁ÷¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢ |
¥µ¡¼¥Ð¤ò½ªÎ»¤µ¤»¤ë¡£ÂèÆó¤Î´Ø¿ô¤Ï·×»»¥µ¡¼¥Ð¤Ë SM_shutdown ¤òÁ÷¤ë¤³¤È¤Ë |
¥µ¡¼¥Ð¤ò½ªÎ»¤µ¤»¤ë¡£ÂèÆó¤Î´Ø¿ô¤Ï·×»»¥µ¡¼¥Ð¤Ë SM_shutdown ¤òÁ÷¤ë¤³¤È¤Ë |
¤è¤Ã¤Æ¡¢¥µ¡¼¥Ð¤ò½ªÎ»¤µ¤»¤ë(ͽÄê)¡£ |
¤è¤Ã¤Æ¡¢¥µ¡¼¥Ð¤ò½ªÎ»¤µ¤»¤ë(ͽÄê)¡£ |
|
|
|
/* |
|
/*&ja |
3.3 SM ¥³¥Þ¥ó¥É¤ÎÁ÷¿® |
3.3 SM ¥³¥Þ¥ó¥É¤ÎÁ÷¿® |
|
*/ |
|
/*&en |
|
3.3 How to command to OpenXM stack machine? |
|
*/ |
|
/*&common |
|
|
void ox_push_cmd(ox_file_t sv, int sm_code); |
void ox_push_cmd(ox_file_t sv, int sm_code); |
|
|
|
*/ |
|
/*&ja |
¥µ¡¼¥Ð¤Ë¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¥³¥Þ¥ó¥É¤òÁ÷¤ë¡£¥³¥Þ¥ó¥É¤Ï¥³¥Þ¥ó¥ÉÈÖ¹æ¤ÇÍ¿¤¨¤ë¡£ |
¥µ¡¼¥Ð¤Ë¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¥³¥Þ¥ó¥É¤òÁ÷¤ë¡£¥³¥Þ¥ó¥É¤Ï¥³¥Þ¥ó¥ÉÈÖ¹æ¤ÇÍ¿¤¨¤ë¡£ |
|
*/ |
|
/*&en |
|
ox_push_cmd() sends an operation code to an OpenXM stack machine. |
|
Table of opecode is defined in oxtag.h. |
|
*/ |
|
/*&ja |
|
|
3.4 CMO ¤ÎÁ÷¼õ¿® |
3.4 CMO ¤ÎÁ÷¼õ¿® |
|
|
Line 172 cmo_mathcap* ox_mathcap(ox_file_t sv); |
|
Line 254 cmo_mathcap* ox_mathcap(ox_file_t sv); |
|
|
|
Mathcap ¤ò¼õ¤±¼è¤ë¡£¸½ºß¤Ï Mathcap ¤Î½èÍý¤Ï¥æ¡¼¥¶¥×¥í¥°¥é¥à¤ËǤ¤µ¤ì¤Æ¤¤¤ë¡£ |
Mathcap ¤ò¼õ¤±¼è¤ë¡£¸½ºß¤Ï Mathcap ¤Î½èÍý¤Ï¥æ¡¼¥¶¥×¥í¥°¥é¥à¤ËǤ¤µ¤ì¤Æ¤¤¤ë¡£ |
¤¤¤º¤ì¤³¤Î´Ø¿ô¤ÏÇѻߤµ¤ì¤ëͽÄê¡£ |
¤¤¤º¤ì¤³¤Î´Ø¿ô¤ÏÇѻߤµ¤ì¤ëͽÄê¡£ |
|
*/ |
|
/*&ja |
|
|
4. Äã¿å½à API |
4. Äã¿å½à API |
|
|
Äã¿å½à API ¤Ï¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤òľÀÜÍøÍѤ¹¤ë¡£ |
Äã¿å½à API ¤Ï¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤òľÀÜÍøÍѤ¹¤ë¡£ |
|
|
4.1 ÄÌ¿®¤Ë»È¤ï¤ì¤ë¥Ð¥¤¥È¥ª¡¼¥À¤Î·èÄê |
4.1 ÄÌ¿®¤Ë»È¤ï¤ì¤ë¥Ð¥¤¥È¥ª¡¼¥À¤Î·èÄê |
|
*/ |
|
/*&en |
|
|
|
4. Low-level API. |
|
|
|
In this section, ``fd'' is an identifier of an OpenXM connection. |
|
|
|
4.1 How to decide a byte order of integers? |
|
*/ |
|
/*&common |
|
|
int decideByteOrderServer(int fd, int order); |
int decideByteOrderServer(int fd, int order); |
|
|
|
*/ |
|
/*&ja |
¤³¤Î¥Ä¡¼¥ë¥¥Ã¥È¤Ï¡¢¥µ¡¼¥Ð¤¬³«»Ï¤µ¤ì¤ë¤È¤¤Ë¤Ï¤¹¤Ç¤ËÄÌ¿®Ï©¤¬ÀßÄꤵ¤ì¤Æ |
¤³¤Î¥Ä¡¼¥ë¥¥Ã¥È¤Ï¡¢¥µ¡¼¥Ð¤¬³«»Ï¤µ¤ì¤ë¤È¤¤Ë¤Ï¤¹¤Ç¤ËÄÌ¿®Ï©¤¬ÀßÄꤵ¤ì¤Æ |
¤¤¤ë¤¬¡¢¤½¤ÎÄÌ¿®Ï©¤ËÍѤ¤¤ë¥Ð¥¤¥È¥ª¡¼¥À¤Î·èÄê¤Ï¹Ô¤ï¤ì¤Æ¤¤¤Ê¤¤¤È²¾Äꤷ¤Æ |
¤¤¤ë¤¬¡¢¤½¤ÎÄÌ¿®Ï©¤ËÍѤ¤¤ë¥Ð¥¤¥È¥ª¡¼¥À¤Î·èÄê¤Ï¹Ô¤ï¤ì¤Æ¤¤¤Ê¤¤¤È²¾Äꤷ¤Æ |
¤¤¤ë¡£¾Ü¤·¤¯¤Ï¡¢¹â»³-ÌîϤ, "OpenXM ¤ÎÀ߷פȼÂÁõ" ¤ò»²¾È¤»¤è¡£ |
¤¤¤ë¡£¾Ü¤·¤¯¤Ï¡¢¹â»³-ÌîϤ, "OpenXM ¤ÎÀ߷פȼÂÁõ" ¤ò»²¾È¤»¤è¡£ |
|
|
(Ãí°Õ) ¥¯¥é¥¤¥¢¥ó¥È¦¤Ç¤Î¥Ð¥¤¥È¥ª¡¼¥À¤ÎÀßÄê¤Ï¡¢¹â¿å½à API ¤Ç¼«Æ°Åª¤Ë¹Ô¤ï¤ì¤ë¡£ |
(Ãí°Õ) ¥¯¥é¥¤¥¢¥ó¥È¦¤Ç¤Î¥Ð¥¤¥È¥ª¡¼¥À¤ÎÀßÄê¤Ï¡¢¹â¿å½à API ¤Ç¼«Æ°Åª¤Ë¹Ô¤ï¤ì¤ë¡£ |
|
*/ |
|
/*&en |
|
You must call it when your OpenXM server is initialized. |
|
This function always choose the network byte order for integers. |
|
*/ |
|
/*&common |
|
|
4.2 |
4.2 |
|
|
int send_int32(int fd, int integer); |
int send_int32(int fd, int integer); |
|
|
fd ¤Ë 32bit À°¿ô¤ò½ñ¤¹þ¤à¡£ |
|
|
|
int receive_int32(int fd); |
int receive_int32(int fd); |
|
|
|
*/ |
|
/*&ja |
|
fd ¤Ë 32bit À°¿ô¤ò½ñ¤¹þ¤à¡£ |
fd ¤«¤é 32bit À°¿ô¤òÆɤ߹þ¤à¡£ |
fd ¤«¤é 32bit À°¿ô¤òÆɤ߹þ¤à¡£ |
|
*/ |
|
/*&en |
|
send_int32() writes 32bits integer to an OpenXM connection. |
|
receive_int32() reads 32bits integer from an OpenXM connection. |
|
*/ |
|
/*&common |
|
|
4.3 |
4.3 |
|
|
int send_cmo(int fd, cmo* m); |
int send_cmo(int fd, cmo* m); |
|
|
fd ¤Ë cmo ¤ò½ñ¤¹þ¤à¡£ |
|
|
|
cmo* receive_cmo(int fd); |
cmo* receive_cmo(int fd); |
|
|
|
*/ |
|
/*&ja |
|
fd ¤Ë cmo ¤ò½ñ¤¹þ¤à¡£ |
fd ¤«¤é cmo ¤òÆɤ߹þ¤à¡£ |
fd ¤«¤é cmo ¤òÆɤ߹þ¤à¡£ |
|
*/ |
|
/*&en |
|
send_cmo() writes an CMObject to an OpenXM connection. |
|
receive_cmo() reads an CMObject from an OpenXM connection. |
|
*/ |
|
/*&common |
|
|
4.4 |
4.4 |
|
|
int next_serial(); |
int next_serial(); |
|
|
|
*/ |
|
/*&ja |
¥·¥ê¥¢¥ë¥Ê¥ó¥Ð¤òÀ¸À®¤¹¤ë¡£ |
¥·¥ê¥¢¥ë¥Ê¥ó¥Ð¤òÀ¸À®¤¹¤ë¡£ |
|
*/ |
|
/*&en |
|
next_serial() generates serial number for ox message. |
|
*/ |
|
/*&common |
|
|
4.5 |
4.5 |
|
|
int send_ox_tag(int fd, int tag); |
int send_ox_tag(int fd, int tag); |
|
|
fd ¤Ë OX ¥á¥Ã¥»¡¼¥¸¤Î¥Ø¥Ã¥À(tag+id)¤ò½ñ¤¹þ¤à¡£ |
|
¥·¥ê¥¢¥ëÈÖ¹æ¤Ï¼«Æ°Åª¤ËÀ¸À®¤µ¤ì¤ë¡£ |
|
|
|
int receive_ox_tag(int fd); |
int receive_ox_tag(int fd); |
|
|
fd ¤«¤é OX ¥á¥Ã¥»¡¼¥¸¤Î¥Ø¥Ã¥À(tag+id)¤òÆɤ߹þ¤à¡£ |
*/ |
|
/*&ja |
|
fd ¤Ë OX ¥á¥Ã¥»¡¼¥¸¤Î¥Ø¥Ã¥À(tag+serial#)¤ò½ñ¤¹þ¤à¡£¥·¥ê¥¢¥ëÈÖ¹æ¤Ï |
|
¼«Æ°Åª¤ËÀ¸À®¤µ¤ì¤ë¡£ |
|
fd ¤«¤é OX ¥á¥Ã¥»¡¼¥¸¤Î¥Ø¥Ã¥À(tag+serial#)¤òÆɤ߹þ¤à¡£ |
|
*/ |
|
/*&en |
|
send_ox_tag() writes a tag and automatically generated serial number |
|
of an ox message to an OpenXM conection. |
|
receive_ox_tag() reads a tag and serial number of an ox message. |
|
*/ |
|
/*&common |
|
|
4.6 |
4.6 |
|
|
Line 230 int send_ox(int fd, ox* m); |
|
Line 358 int send_ox(int fd, ox* m); |
|
int send_ox_cmo(int fd, cmo* m); |
int send_ox_cmo(int fd, cmo* m); |
void send_ox_command(int fd, int sm_command); |
void send_ox_command(int fd, int sm_command); |
|
|
|
*/ |
|
/*&ja |
ox ¥á¥Ã¥»¡¼¥¸¤òÁ÷¿®¤¹¤ë¡£ |
ox ¥á¥Ã¥»¡¼¥¸¤òÁ÷¿®¤¹¤ë¡£ |
|
*/ |
|
|