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

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

?? message.h

?? 嵌入式操作系統內核
?? H
字號:
/* -*- Mode: C; tab-width:4 -*- *//* ex: set ts=4 shiftwidth=4 softtabstop=4 cindent: *//* * Copyright (c) 2003 The Regents of the University of California. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above *    copyright notice, this list of conditions and the following *    disclaimer in the documentation and/or other materials provided *    with the distribution. * 3. All advertising materials mentioning features or use of this *    software must display the following acknowledgement: *       This product includes software developed by Networked & *       Embedded Systems Lab at UCLA * 4. Neither the name of the University nor that of the Laboratory *    may be used to endorse or promote products derived from this *    software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * $Id: message.h,v 1.8 2006/08/04 02:05:14 ram Exp $ *//** * @brief    SOS message structure * @author   Simon Han (simonhan@cs.ucla.edu) * * Defines the message structure and its related functions *  * @note message parameters explanations.                               \n * e     :   message pointer.                                           \n * daddr :   node destination address.                                  \n * did   :   module destination id.				                        \n * type  :   module specific message type.                              \n * saddr :   node source address.                                       \n * sid   :   module source id.                                          \n * len   :   payload length                                             \n * data  :   message payload.                                           \n * flag  :   flag to indicate the status of message.                    \n * In all case, function returns 0 for successful, errno for error.     \n */#ifndef _MESSAGE_H#define _MESSAGE_H#include <sos_types.h>#include <message_types.h>/** * @brief Post a message * @param e Message pointer * @return errno */extern int8_t post(Message *e);/** * @brief Post message over an IO Link * @param did    Destination Module ID * @param sid    Source Module ID * @param type   Message Type * @param len    Message Payload Length * @param data   Pointer to message payload * @param flag   Message Options * @param daddr  Destination Node Address * @return errno */extern int8_t post_link(sos_pid_t did, 						sos_pid_t sid, 						uint8_t type, 						uint8_t len,						void* data, 						uint16_t flag, 						uint16_t daddr);/** * @brief Post message over the right link select by the system * @param did    Destination Module ID * @param sid    Source Module ID * @param type   Message Type * @param len    Message Payload Length * @param data   Pointer to message payload * @param flag   Message Options * @param daddr  Destination Node Address * @return errno */static inline int8_t post_auto(sos_pid_t did,                               sos_pid_t sid,							   uint8_t type,							   uint8_t len,							   void* data,							   uint16_t flag,							   uint16_t daddr) {  return post_link(did, sid, type, len, data, flag | SOS_MSG_ALL_LINK_IO | SOS_MSG_LINK_AUTO, daddr);}/** * @brief Post message over Radio Link * @param did    Destination Module ID * @param sid    Source Module ID * @param type   Message Type * @param len    Message Payload Length * @param data   Pointer to message payload * @param flag   Message Options * @param daddr  Destination Node Address * @return errno */static inline int8_t post_net(sos_pid_t did, 		sos_pid_t sid, 					   uint8_t type, 					   uint8_t len, 					   void *data, 					   uint16_t flag, 					   uint16_t daddr){  return post_link(did, sid, type, len, data, flag|SOS_MSG_RADIO_IO, daddr);}/** * @brief Post message over UART Link * @param did    Destination Module ID * @param sid    Source Module ID * @param type   Message Type * @param len    Message Payload Length * @param data   Pointer to message payload * @param flag   Message Options * @param daddr  Destination Node Address * @return errno */static inline int8_t post_uart(sos_pid_t did, 					   sos_pid_t sid, 					   uint8_t type, 					   uint8_t length, 					   void *data, 					   uint16_t flag, 					   uint16_t daddr){  return post_link(did, sid, type, length, data, flag|SOS_MSG_UART_IO, daddr);}/** * @brief Post message over I2C Link * @param did    Destination Module ID * @param sid    Source Module ID * @param type   Message Type * @param len    Message Payload Length * @param data   Pointer to message payload * @param flag   Message Options * @param daddr  Destination Node Address * @return errno */static inline int8_t post_i2c(sos_pid_t did, 					   sos_pid_t sid, 					   uint8_t type, 					   uint8_t length, 					   void *data, 					   uint16_t flag, 					   uint16_t daddr){  return post_link(did, sid, type, length, data, flag|SOS_MSG_I2C_IO, daddr);}/** * @brief Post message over SPI Link * @param did    Destination Module ID * @param sid    Source Module ID * @param type   Message Type * @param len    Message Payload Length * @param data   Pointer to message payload * @param flag   Message Options * @param daddr  Destination Node Address * @return errno */static inline int8_t post_spi(sos_pid_t did, 					   sos_pid_t sid, 					   uint8_t type, 					   uint8_t length, 					   void *data, 					   uint16_t flag, 					   uint16_t daddr){  return post_link(did, sid, type, length, data, flag|SOS_MSG_SPI_IO, daddr);}/** * @brief post buffered short message * @param did    destination module id * @param sid    source module id * @param type   message type * @param byte   one byte data * @param word   two byte data * @param flag   message flag * @return errno * * this is useful for posting message upto two parameters */extern int8_t post_short(		sos_pid_t did,         sos_pid_t sid,         uint8_t type,         uint8_t byte,         uint16_t word,         uint16_t flag);/** * @brief post buffered long message * @param did    destination module id * @param sid    source module id * @param type   message type * @param len    size of data * @param data   data in the message * @param flag   message options * @return errno * */extern int8_t post_long(sos_pid_t did, 						sos_pid_t sid, 						uint8_t type, 						uint8_t len, 						void *data, 						uint16_t flag);/** * @brief post buffered longer message * @param did    destination module id * @param sid    source module id * @param type   message type * @param len    size of data * @param data   data in the message * @param flag   message options * @param saddr  source address (comes in handy for routing messages) * @return errno * */extern int8_t post_longer(sos_pid_t did, 						  sos_pid_t sid, 						  uint8_t type, 						  uint8_t len, 						  void *data, 						  uint16_t flag,						  uint16_t saddr);/** * @brief get the data from message * @param pid module pid * @param msg Message * @return the pointer to data, or NULL for failure. * * ker_msg_take_data tries to get the data from message * When the message is dynamically allocated, it will detach data from  * message.  Otherwise, it will attempt to ker_malloc a buffer and copy  * the data.  Therefore, when there is no memory, it is possible that this  * call may fail. * * ker_msg_take_data will check whether message type is MSG_PKT_SENDDONE. * If so, data will be taken from inner message.  When trying to take data  * from MSG_PKT_SENDDONE, use the pointer of outter message. *  */extern uint8_t *ker_msg_take_data(sos_pid_t pid, Message *msg);#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
视频在线在亚洲| 久久久亚洲午夜电影| 欧美高清一级片在线| 日韩一区二区三区av| 精品999在线播放| 国产欧美精品一区二区色综合 | 亚洲精品欧美专区| 亚洲丰满少妇videoshd| 九九国产精品视频| 99vv1com这只有精品| 欧美日韩国产一二三| 久久综合久久久久88| 亚洲婷婷综合久久一本伊一区| 五月天激情综合| 国产成人在线视频网址| 91久久精品国产91性色tv| 日韩一区二区三区电影 | 99久久精品情趣| 51精品久久久久久久蜜臀| 2023国产精品| 亚洲一区精品在线| 国产精品18久久久| 欧美日韩一区二区三区在线看| 精品国产污污免费网站入口| 亚洲精品日韩一| 国产一区二区三区观看| 91成人在线精品| 久久久综合激的五月天| 一区二区三区精密机械公司| 国产专区综合网| 欧美日韩久久久| 国产精品国产三级国产aⅴ原创| 天天综合天天综合色| gogogo免费视频观看亚洲一| 欧美电影免费观看高清完整版在| 自拍偷拍亚洲激情| 国内精品伊人久久久久av一坑 | 亚洲麻豆国产自偷在线| 久久精品国产精品亚洲精品| 91麻豆国产精品久久| 久久久高清一区二区三区| 三级在线观看一区二区| 91啪在线观看| 国产精品天天看| 激情国产一区二区| 欧美浪妇xxxx高跟鞋交| 一区二区三区四区激情 | 亚洲色图色小说| 国产精品一区专区| 欧美一区二区日韩| 夜夜嗨av一区二区三区中文字幕| 成人永久免费视频| 精品国产一区二区三区不卡| 亚洲444eee在线观看| 91偷拍与自偷拍精品| 欧美高清在线一区二区| 黄页网站大全一区二区| 91精品国产欧美一区二区成人 | 欧美日韩在线不卡| 亚洲欧美一区二区三区国产精品| 国产盗摄一区二区三区| 精品成人a区在线观看| 蜜臀av一区二区在线免费观看| 欧美日韩综合不卡| 一区二区三区在线视频免费观看| 成人app网站| 中文字幕一区二区三区不卡在线 | 久久久久久夜精品精品免费| 美国三级日本三级久久99| 欧美酷刑日本凌虐凌虐| 亚洲成人免费av| 欧美日韩一级视频| 亚洲aaa精品| 欧美夫妻性生活| 日产欧产美韩系列久久99| 欧美电影一区二区三区| 天堂一区二区在线| 6080日韩午夜伦伦午夜伦| 性感美女久久精品| 欧美一区二区三区成人| 日本欧美肥老太交大片| 欧美精品第1页| 日韩成人dvd| 欧美岛国在线观看| 久久精品国产精品青草| 久久午夜国产精品| 国产.精品.日韩.另类.中文.在线.播放| 久久影院午夜片一区| 国产精品66部| 欧美韩国一区二区| 91蜜桃婷婷狠狠久久综合9色| 亚洲天堂成人网| 欧美性视频一区二区三区| 亚洲成a人片综合在线| 欧美日韩国产综合视频在线观看 | 欧美一区二区久久| 久久精品国产澳门| 久久久噜噜噜久久人人看| 国产精品69久久久久水密桃| 国产精品成人免费| 欧美日韩亚洲国产综合| 日韩不卡手机在线v区| 精品国产伦理网| av在线这里只有精品| 一区二区三区四区不卡视频| 欧美亚洲国产bt| 麻豆国产精品官网| 日本一区二区三区四区在线视频| 91视视频在线观看入口直接观看www | 亚洲一区视频在线| 欧美一卡二卡三卡四卡| 久久99在线观看| 欧美国产日韩亚洲一区| 欧美在线视频全部完| 精品亚洲porn| 亚洲欧美色图小说| 在线综合+亚洲+欧美中文字幕| 国产麻豆精品视频| 亚洲一区二区在线观看视频| 日韩小视频在线观看专区| 成人性生交大片免费看中文网站| 亚洲影视在线观看| 久久久久9999亚洲精品| 在线精品观看国产| 国产在线播放一区| 一区二区三区在线免费视频| 日韩欧美激情一区| 91浏览器在线视频| 久久99热99| 亚洲精品中文在线| wwwwxxxxx欧美| 日本高清不卡一区| 国产在线精品一区在线观看麻豆| 亚洲三级在线播放| 精品免费一区二区三区| 91丨porny丨国产入口| 不卡的av中国片| 91尤物视频在线观看| 天堂成人国产精品一区| 国产日韩视频一区二区三区| 欧美精品123区| 99国产精品久久久久| 久久69国产一区二区蜜臀 | 欧美在线播放高清精品| 国产成人鲁色资源国产91色综| 亚洲成av人片| 成人免费小视频| 欧美精品一区二区三区四区| 欧洲国内综合视频| 不卡视频一二三| 国产精品亚洲а∨天堂免在线| 亚洲成人精品一区二区| 国产精品色在线| 精品国产乱码久久久久久浪潮| 欧美中文一区二区三区| 99精品视频一区二区三区| 久久se这里有精品| 日本亚洲视频在线| 一级女性全黄久久生活片免费| 亚洲国产高清不卡| 久久久影视传媒| 日韩精品中文字幕一区| 欧美日韩国产高清一区二区| 94-欧美-setu| 9色porny自拍视频一区二区| 国产成人精品一区二区三区网站观看| 日韩av电影天堂| 亚洲777理论| 亚洲综合在线视频| 亚洲欧美激情小说另类| 国产欧美精品日韩区二区麻豆天美| 日韩欧美在线影院| 91精品国产色综合久久| 欧美日韩在线一区二区| 在线观看日韩国产| 色哦色哦哦色天天综合| 99久久婷婷国产| 成人理论电影网| 成人av资源在线观看| 懂色av一区二区夜夜嗨| 岛国精品在线播放| 风间由美一区二区三区在线观看| 国产一区二区在线观看视频| 精品制服美女久久| 九九久久精品视频| 国产乱人伦精品一区二区在线观看| 精品在线播放免费| 国产在线精品不卡| 国产精品一二三区在线| 国产精品亚洲一区二区三区在线 | 综合网在线视频| 亚洲丝袜美腿综合| 樱花草国产18久久久久| 亚洲精品视频观看| 亚洲国产成人91porn| 亚洲成人在线观看视频| 亚洲成人av一区二区| 男男视频亚洲欧美| 久久99精品国产.久久久久| 激情六月婷婷久久|