contiki-process结构体
struct process {
struct process *next;
#if PROCESS_CONF_NO_PROCESS_NAMES
#define PROCESS_NAME_STRING(process) ""
#else
const char *name;
#define PROCESS_NAME_STRING(process) (process)->name
#endif
PT_THREAD((* thread)(struct pt *, process_event_t, process_data_t));
struct pt pt;
unsigned char state, needspoll;
};
process表示一个进程,属性包含在结构体中。
1. struct process *next;
由于所有的进程存放与一个链表之中,所以每个进程都会存在指向下一个进程的指针
2.const char *name;
表示进程的名字,3-8行,当定义了全局变量PROCESS_CONF_NO_PROCESS_NAMES时,表示进程没有名字,可能为某些特殊的CPU准备的。
我们就当所有进程都会有名字。#define PROCESS_NAME_STRING(process) (process)->name使用宏定义了一个方法,它的作用是返回此结构体的name成员。
3.PT_THREAD((* thread)(struct pt *, process_event_t, process_data_t));
struct pt {
lc_t lc;
};
变量名和结构体名相同,虽然是合法的,但是看起来好别扭,不知道这么用的用意何在。
lc_t是什么?追踪到typedef unsigned short lc_t;,一个无符号short整形,一个数字。
5.unsigned char state
表示进程的状态,三个数字:0,1,2,取下面三个值:
#define PROCESS_STATE_NONE 0
#define PROCESS_STATE_RUNNING 1
#define PROCESS_STATE_CALLED 2
6.unsigned char needspoll;
表示进程的优先级;
摘录自:http://www.cnblogs.com/abatei/p/5137009.html
contiki-process结构体的更多相关文章
- contiki学习笔记---process结构体
process,字面意义,进程,看看它的结构 struct process { struct process *next; #if PROCESS_CONF_NO_PROCESS_NAMES #def ...
- Contiki Process概述
本文涉及到的Protothread机制知识,在http://www.cnblogs.com/songdechiu/p/5793717.html 一.进程类型 进程类型主要有协同式(cooperativ ...
- C++_系列自学课程_第_12_课_结构体
#include <iostream> #include <string> using namespace std; struct CDAccount { double bal ...
- Linux_Struct file()结构体
struct file结构体定义在/linux/include/linux/fs.h(Linux 2.6.11内核)中,其原型是:struct file { /* * f ...
- Linux--struct file结构体
struct file(file结构体): struct file结构体定义在include/linux/fs.h中定义.文件结构体代表一个打开的文件,系统中的每个打开的文件在内核空间都有一个关联的 ...
- Linux进程管理之task_struct结构体
进程是处于执行期的程序以及它所管理的资源(如打开的文件.挂起的信号.进程状态.地址空间等等)的总称.注意,程序并不是进程,实际上两个或多个进程不仅有可能执行同一程序,而且还有可能共享地址空间等资源. ...
- 使用offsetof对结构体指针偏移操作
题目来自于COMP20003 Tutorial 2: Program m ing Challenge 2.2 The technology stack at Hidebound Inc. uses a ...
- Linux进程描述符task_struct结构体详解--Linux进程的管理与调度(一)【转】
Linux内核通过一个被称为进程描述符的task_struct结构体来管理进程,这个结构体包含了一个进程所需的所有信息.它定义在include/linux/sched.h文件中. 谈到task_str ...
- 用C结构体来实现面向对象编程,ti xDAIS标准算法就这么搞的(1)
用C结构体来实现面向对象编程,ti xDAIS标准算法就这么搞的. 测试代码如下: #include <stdio.h> #include <stdlib.h> #includ ...
随机推荐
- linux格式批量转换为dos格式
注:写的只是基本知识,望高手勿喷,写这个不是为了炫耀,只是为了方便其他人,仅此而已. 一:脚本功能: 批量处理目录以及子目录下的文件格式问题,能够轻易的将linux格式转换为dos格式. 二:写此博客 ...
- getStyle(obj, attr)兼容获取css
设置元素(element)的css属性值可以用element的style属性,dom.style.attr 这样或取得到的值大多数是undefined:何解? dom.style.attr 是用来 ...
- 一个可拖拽的DIV框框
http://codepen.io/lrelia/pen/bEyLB 使用了JQuery UI库, draggable来自于JQuery UI库
- Logstash学习-配置语法
区段(section) Logstash 用{}来定义区域.区域内可以包括插件区域定义,你可以在一个区域定义多个插件,插件区域内则可以定义键值对设置. 数据类型 Logstash支持少量的数据值类型: ...
- Quick-lua3.3之listview
前言 listview列表,在游戏中非常常见,比如道具列表,玩家列表,排行榜等等.每个版本可能使用方法可能有些差别,但是大同小异,原理和用途都是那几种,设置方向,间隔等. 这里是quick-lua3. ...
- 使用XSHELL连接EC2虚拟机实例
sudo passwd root #输入2次密码给root用户设定密码 su - passwd ec2-user #输入两次密码给ec2-user用户设定密码 sed -ri 's/^#?(Passw ...
- webapi mvc session一直获取不到问题
前一段时间在给移动端写接口时遇到一个调用接口发送邮箱 session 一直获取不到的问题.我来给遇到问题的同志们说一说 自个在网上查了好多资料,问了一些朋友后.终于找到解决方案了. 大家都知道weba ...
- zigbee学习之路(十二):zigbee协议原理介绍
一.前言 从今天开始,我们要正式开始进行zigbee相关的通信实验了,我所使用的协议栈是ZStack 是TI ZStack-CC2530-2.3.0-1.4.0版本,大家也可以从TI的官网上直接下载T ...
- 移动APP项目优化
团队计划:设计一款给用户提供就医帮助的安卓APP. 项目计划:两个月内团队成员共同开发完成此款APP,此款APP提供预约挂号,名医名院咨询,就医导航等功能. 角色职责:负责交互设计.UI界面设计.1. ...
- 在Mac系统上配置Android真机调试环境
在Mac系统上配置Android真机调试环境 mac上配置安卓环境还说挺方便的,真机调试也比win上要好一些.win上被各种软件强行安装了xxx助手. 在mac上就了一个干净的感觉. 下载Androi ...