diff --git a/calexium_lib/CXM_message_constants.anubis b/calexium_lib/CXM_message_constants.anubis index ce44aa3..3ed7165 100644 --- a/calexium_lib/CXM_message_constants.anubis +++ b/calexium_lib/CXM_message_constants.anubis @@ -33,6 +33,7 @@ public define Int32 _CXM_REQUEST_FOR_SERVICE = 0x33770C01. // public define Int32 _CXM_GENERIC_PROTOCOL_BASIS = 0x33771000. // public define Int32 _CXM_ACK = 0x33771001. // +public define Int32 _CXM_ACK_RESULT_MSG = 0x33771002. // // **************** FTP SERVICE *************** diff --git a/calexium_lib/net_services/CXM_generic_protocol.anubis b/calexium_lib/net_services/CXM_generic_protocol.anubis index 8ce65de..2385f5a 100644 --- a/calexium_lib/net_services/CXM_generic_protocol.anubis +++ b/calexium_lib/net_services/CXM_generic_protocol.anubis @@ -24,8 +24,8 @@ public define One Int32 cmd_id )= with err_msg = message(_CXM_ACK), - forget(add_int32(err_msg, "_CMD", cmd_id)); - forget(add_int32(err_msg, "_STATUS", _CXM_ERROR)); + forget(add_int32(err_msg, "CMD", cmd_id)); + forget(add_int32(err_msg, "STATUS", _CXM_ERROR)); forget(send_message_by_Stream(conn, err_msg)) . @@ -36,10 +36,38 @@ public define One Int32 cmd_id )= with ok_msg = message(_CXM_ACK), - forget(add_int32(ok_msg, "_CMD", cmd_id)); - forget(add_int32(ok_msg, "_STATUS", _CXM_OK)); + forget(add_int32(ok_msg, "CMD", cmd_id)); + forget(add_int32(ok_msg, "STATUS", _CXM_OK)); forget(send_message_by_Stream(conn, ok_msg)) . + +public define One + send_ACK_ok + ( + RWStream conn, + Int32 cmd_id, + Message result + )= + with ok_msg = message(_CXM_ACK), + forget(add_int32(ok_msg, "CMD", cmd_id)); + forget(add_int32(ok_msg, "STATUS", _CXM_OK)); + forget(add_message(ok_msg, "RESULT", result)); + forget(send_message_by_Stream(conn, ok_msg)) + . + +public define One + send_result + ( + RWStream conn, + Int32 cmd_id, + Maybe(Message) mb_msg + )= + if mb_msg is + { + failure then send_ACK_error(conn, cmd_id), + success(msg) then send_ACK_ok(conn, cmd_id, msg) + } + . public define Maybe(Message) wait_for_reply diff --git a/calexium_lib/net_services_protocols/pkg_updater_protocol.anubis b/calexium_lib/net_services_protocols/pkg_updater_protocol.anubis new file mode 100644 index 0000000..c64334f --- /dev/null +++ b/calexium_lib/net_services_protocols/pkg_updater_protocol.anubis @@ -0,0 +1,11 @@ +/* + * + * User: David RENE + * Date: 26/04/2007 + * Time: 19:08 + * (c) Calexium + * + */ + +public define Int32 no_update = 0. +public define Int32 update_available = 1. -- libgit2 0.21.4