Logo Search packages:      
Sourcecode: g2ipmsg version File versions  Download package

int ipmsg_send_send_msg ( const udp_con_t *  con,
const char *  ipaddr,
int  flags,
int  pkt_no,
const char *  message,
const char *  extension 
)

IPMSGのIPMSG_SENDMSGパケットを送出する

Parameters:
[in] con UDPコネクション情報
[in] ipaddr 送信先IPアドレス
[in] flags 送信フラグ
[in] pktno パケット番号
[in] message メッセージ本文
[in] extension 拡張部
Return values:
0 正常終了
-EINVAL 引数異常
-ENOMEM メモリ不足

Definition at line 2262 of file protocol.c.

References ipmsg_protocol_flags_get_command, and ipmsg_send_sendmsg_packets().

Referenced by do_send().

                                                                      {
      int                         rc = 0;

      if ( (con == NULL) || (ipaddr == NULL) || (message == NULL) ) {
            rc = -EINVAL;
            goto error_out;
      }
      
      /* メッセージ送信  */
      rc = ipmsg_send_sendmsg_packets(con, ipaddr, flags, pkt_no, message, extension);
      if (rc != 0) {
            goto error_out;
      }

      /*
       * 送信ログを記録(自動送信パケットは記録しない).
       */
      if ( (ipmsg_protocol_flags_get_command(flags) == IPMSG_SENDMSG) && 
           ( !(flags & (IPMSG_AUTORETOPT|IPMSG_ENCRYPTOPT)) ) ) {
            /* ロギングはオプションであるため, 失敗しても通信は, 正常終了させる */
            logfile_send_log(ipaddr, flags, message);
      }     

      rc = 0; /* 正常終了  */

error_out:
      return rc;
}


Generated by  Doxygen 1.6.0   Back to index