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

static int ipmsg_proc_release_files_msg ( const udp_con_t *  con,
const msg_data_t *  msg 
) [static]

IPMSGのIPMSG_RELEASEFILESパケットを処理する

Parameters:
[in] con UDPコネクション情報
[in] msg 受信したメッセージのメッセージ情報
Return values:
0 正常終了
-EINVAL 引数異常
Attention:
内部リンケージ

Definition at line 701 of file protocol.c.

References pkt_no.

Referenced by ipmsg_dispatch_message().

                                                                          {
      pktno_t pktno = 0;
      int        rc = 0;

      if ( (con == NULL) || (msg == NULL) ) {
            rc = -EINVAL;
            goto error_out;
      }

      /*
       * 開放する添付ファイルを示すパケット番号を獲得する
       */
      errno = 0;
      pktno = strtol(msg->message, (char **)NULL, 10);
      if (errno == 0) {
            dbg_out("read mssage:seq %ld\n", pkt_no);
      } else {
            err_out("Can not parse packet no.\n");
            rc = -errno;
            goto error_out;
      }

      dbg_out("release files mssage:seq %d(%s)\n", pktno, msg->message);

      /*
       * 指定された添付ファイルを開放する
       */
      rc = release_attach_file_block(pktno, FALSE);
      if (rc < 0) {
            dbg_out("Can not release attach file information:pktno=%d %s (%d)", 
                pktno, strerror(-rc), -rc);
            goto error_out;
      }

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

error_out:
      return rc;
}


Generated by  Doxygen 1.6.0   Back to index