亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? serialactivemessagep.nc

?? tinyos-2.x.rar
?? NC
字號:
//$Id: SerialActiveMessageP.nc,v 1.10 2009/02/13 01:02:26 razvanm Exp $

/* "Copyright (c) 2000-2005 The Regents of the University of California.  
 * All rights reserved.
 *
 * Permission to use, copy, modify, and distribute this software and its
 * documentation for any purpose, without fee, and without written agreement
 * is hereby granted, provided that the above copyright notice, the following
 * two paragraphs and the author appear in all copies of this software.
 * 
 * IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR
 * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT
 * OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY
 * OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 * 
 * THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
 * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
 * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS
 * ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO
 * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS."
 */

/**
 * Sending active messages over the serial port.
 *
 * @author Philip Levis
 * @author Ben Greenstein
 * @date August 7 2005
 *
 */

#include <Serial.h>

generic module SerialActiveMessageP () {
  provides {
    interface AMSend[am_id_t id];
    interface Receive[am_id_t id];
    interface AMPacket;
    interface Packet;
    interface PacketAcknowledgements;
  }
  uses {
    interface Send as SubSend;
    interface Receive as SubReceive;
  }
}
implementation {

  serial_header_t* ONE getHeader(message_t* ONE msg) {
    return TCAST(serial_header_t* ONE, (uint8_t*)msg + offsetof(message_t, data) - sizeof(serial_header_t));
  }

  serial_metadata_t* getMetadata(message_t* msg) {
    return (serial_metadata_t*)(msg->metadata);
  }
  
  command error_t AMSend.send[am_id_t id](am_addr_t dest,
					  message_t* msg,
					  uint8_t len) {
    serial_header_t* header = getHeader(msg);

    if (len > call Packet.maxPayloadLength()) {
      return ESIZE;
    }

    header->dest = dest;
    // Do not set the source address or group, as doing so
    // prevents transparent bridging. Need a better long-term
    // solution for this.
    //header->src = call AMPacket.address();
    //header->group = TOS_AM_GROUP;
    header->type = id;
    header->length = len;

    return call SubSend.send(msg, len);
  }

  command error_t AMSend.cancel[am_id_t id](message_t* msg) {
    return call SubSend.cancel(msg);
  }

  command uint8_t AMSend.maxPayloadLength[am_id_t id]() {
    return call Packet.maxPayloadLength();
  }

  command void* AMSend.getPayload[am_id_t id](message_t* m, uint8_t len) {
    return call Packet.getPayload(m, len);
  }
  
  event void SubSend.sendDone(message_t* msg, error_t result) {
    signal AMSend.sendDone[call AMPacket.type(msg)](msg, result);
  }

 default event void AMSend.sendDone[uint8_t id](message_t* msg, error_t result) {
   return;
 }

 default event message_t* Receive.receive[uint8_t id](message_t* msg, void* payload, uint8_t len) {
   return msg;
 }
 
 event message_t* SubReceive.receive(message_t* msg, void* payload, uint8_t len) {
    return signal Receive.receive[call AMPacket.type(msg)](msg, msg->data, len);
  }

  command void Packet.clear(message_t* msg) {
    memset(getHeader(msg), 0, sizeof(serial_header_t));
    return;
  }

  command uint8_t Packet.payloadLength(message_t* msg) {
    serial_header_t* header = getHeader(msg);    
    return header->length;
  }

  command void Packet.setPayloadLength(message_t* msg, uint8_t len) {
    getHeader(msg)->length  = len;
  }
  
  command uint8_t Packet.maxPayloadLength() {
    return TOSH_DATA_LENGTH;
  }
  
  command void* Packet.getPayload(message_t* msg, uint8_t len) {
    if (len > call Packet.maxPayloadLength()) {
      return NULL;
    }
    else {
      return (void * COUNT_NOK(len))msg->data;
    }
  }

  command am_addr_t AMPacket.address() {
    return 0;
  }

  command am_addr_t AMPacket.destination(message_t* amsg) {
    serial_header_t* header = getHeader(amsg);
    return header->dest;
  }

  command am_addr_t AMPacket.source(message_t* amsg) {
    serial_header_t* header = getHeader(amsg);
    return header->src;
  }

  command void AMPacket.setDestination(message_t* amsg, am_addr_t addr) {
    serial_header_t* header = getHeader(amsg);
    header->dest = addr;
  }

  command void AMPacket.setSource(message_t* amsg, am_addr_t addr) {
    serial_header_t* header = getHeader(amsg);
    header->src = addr;
  }
  
  command bool AMPacket.isForMe(message_t* amsg) {
    return TRUE;
  }

  command am_id_t AMPacket.type(message_t* amsg) {
    serial_header_t* header = getHeader(amsg);
    return header->type;
  }

  command void AMPacket.setType(message_t* amsg, am_id_t type) {
    serial_header_t* header = getHeader(amsg);
    header->type = type;
  }

  async command error_t PacketAcknowledgements.requestAck( message_t* msg ) {
    return FAIL;
  }
  async command error_t PacketAcknowledgements.noAck( message_t* msg ) {
    return SUCCESS;
  }
  
  command void AMPacket.setGroup(message_t* msg, am_group_t group) {
    serial_header_t* header = getHeader(msg);
    header->group = group;
  }

  command am_group_t AMPacket.group(message_t* msg) {
    serial_header_t* header = getHeader(msg);
    return header->group;
  }

  command am_group_t AMPacket.localGroup() {
    return TOS_AM_GROUP;
  }

 
  async command bool PacketAcknowledgements.wasAcked(message_t* msg) {
    return FALSE;
  }

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产性做久久久久久| 日韩欧美国产一区在线观看| a4yy欧美一区二区三区| 成人免费av资源| 欧美无人高清视频在线观看| 91精品国产综合久久久蜜臀图片| 91国产免费观看| 欧美日韩三级一区二区| 91精品国产手机| 精品sm在线观看| 久久久影视传媒| 亚洲精品乱码久久久久久久久| 亚洲最大成人综合| 看国产成人h片视频| 成人精品在线视频观看| 精品少妇一区二区三区视频免付费| 欧美系列日韩一区| 日韩免费一区二区| 中文字幕视频一区二区三区久| 亚洲精品国产第一综合99久久| 一区二区不卡在线播放| 国产在线播放一区| 欧美性xxxxxx少妇| 日韩毛片一二三区| 精品一区二区三区日韩| 欧美在线视频日韩| 国产欧美日韩麻豆91| 精品一区二区三区免费播放| 色婷婷精品久久二区二区蜜臂av | 国产中文一区二区三区| 欧美日韩精品欧美日韩精品| 中文字幕一区二区三区乱码在线| 美女视频黄免费的久久 | 欧美国产综合一区二区| 国产精品中文有码| 在线成人高清不卡| 午夜国产精品影院在线观看| 成人亚洲一区二区一| 精品国产一区二区三区四区四| 亚州成人在线电影| 在线观看视频欧美| 奇米精品一区二区三区在线观看 | 日韩亚洲国产中文字幕欧美| 一区二区三区中文字幕电影 | 色偷偷久久人人79超碰人人澡| 自拍偷拍亚洲激情| 91丨九色porny丨蝌蚪| 亚洲欧美一区二区在线观看| 99re这里只有精品首页| 欧美国产国产综合| 色噜噜久久综合| 午夜成人免费视频| 精品久久久久久无| 成人精品小蝌蚪| 亚洲视频一二三| 91精品办公室少妇高潮对白| 亚洲一区二区三区在线看| 日韩免费看网站| 色综合久久88色综合天天6| 亚洲精品菠萝久久久久久久| 91精品在线观看入口| 丁香另类激情小说| 亚洲国产精品一区二区久久恐怖片| 欧美色视频在线观看| 99r精品视频| 国产精品1区2区| 亚洲靠逼com| 欧美一卡二卡三卡四卡| 国产美女av一区二区三区| 亚洲免费资源在线播放| 精品成a人在线观看| 91精品福利在线| 床上的激情91.| 精品一区二区在线观看| 久久精品国产精品亚洲精品| 香蕉成人啪国产精品视频综合网| 日韩美女久久久| 国产亚洲人成网站| 久久久蜜桃精品| 亚洲精品一区二区三区四区高清 | 精品福利一区二区三区 | 久久九九国产精品| 久久久一区二区| 精品成人a区在线观看| 欧美精品vⅰdeose4hd| 国产九色sp调教91| 日韩二区三区在线观看| 亚洲精品国产无天堂网2021| 精品久久久久久久久久久院品网| 91免费视频观看| 99精品视频免费在线观看| 日韩av一级片| 午夜精品123| 国产精品久久久久9999吃药| 亚洲欧美日韩国产成人精品影院| 欧美高清在线一区二区| 久久精品一级爱片| 国产视频视频一区| 久久伊99综合婷婷久久伊| 欧美性色黄大片| 国产日韩欧美激情| 欧美高清在线精品一区| 国产欧美精品一区| 91性感美女视频| 麻豆91精品91久久久的内涵| 亚洲国产成人av| 亚洲第一福利视频在线| 日日夜夜一区二区| 国产成人在线网站| 色偷偷久久一区二区三区| 91久久线看在观草草青青| 欧美日韩一区三区| 久久午夜羞羞影院免费观看| 久久色.com| 亚洲精品你懂的| 激情综合色综合久久| 国产真实乱偷精品视频免| 看片网站欧美日韩| 成人黄动漫网站免费app| 在线一区二区三区做爰视频网站| 欧美日韩另类国产亚洲欧美一级| 911精品产国品一二三产区| 久久亚洲一区二区三区四区| 日韩色视频在线观看| 亚洲国产精品二十页| 亚洲国产精品自拍| 成人黄色小视频| 日韩欧美中文字幕公布| 欧美视频在线一区二区三区| 国产精品欧美一区二区三区| 久久成人久久爱| 欧美三级日本三级少妇99| 成人免费在线视频| 国产精品亚洲人在线观看| 亚洲四区在线观看| 麻豆91精品91久久久的内涵| 国产在线观看一区二区| 欧美日韩一区不卡| 日本一区二区视频在线| 亚洲成人免费av| 欧美视频在线一区二区三区| 亚洲九九爱视频| 欧美撒尿777hd撒尿| 麻豆91小视频| 欧美一级一区二区| 成人国产精品免费观看视频| 欧美韩国日本综合| 亚洲chinese男男1069| 丰满放荡岳乱妇91ww| 国产网红主播福利一区二区| 欧美中文字幕一区二区三区| 视频一区在线视频| 精品国产1区二区| 成人免费视频一区二区| 国产精品网站在线播放| 欧美在线free| 日本不卡不码高清免费观看| 欧美zozozo| 欧美久久免费观看| 国精品**一区二区三区在线蜜桃| 国产精品网站导航| 色噜噜狠狠成人网p站| 日本强好片久久久久久aaa| 久久精品亚洲一区二区三区浴池| 一区二区三区四区av| 欧美人与禽zozo性伦| 国内精品国产三级国产a久久| 亚洲欧美视频一区| 国产精品拍天天在线| 亚洲国产精品黑人久久久| 国产片一区二区| 欧美国产激情一区二区三区蜜月| 欧美巨大另类极品videosbest| 韩国精品主播一区二区在线观看 | 这里是久久伊人| 欧美丰满美乳xxx高潮www| 韩国av一区二区三区在线观看| 亚洲成av人片在线观看| 亚洲与欧洲av电影| 国产精品久久久久一区二区三区 | 石原莉奈一区二区三区在线观看| 亚洲欧美日韩一区二区| 久久久久国产精品厨房| 97超碰欧美中文字幕| 色视频一区二区| 91小视频在线免费看| 欧美不卡一二三| 欧美亚洲动漫精品| 在线观看视频91| 日韩女优毛片在线| 国产欧美一区二区精品性色| 亚洲欧美日韩久久| 国产一区激情在线| 欧美一a一片一级一片| 欧美高清视频www夜色资源网| 精品视频免费在线| 在线成人免费观看| 国产婷婷色一区二区三区在线| 日韩精品一区二区三区四区视频| 日韩欧美一级二级三级久久久|