⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 simulationgm.nc

📁 无线传感器密钥管理算法
💻 NC
字号:
/*									tab:4
 *
 *
 * Copyright (C) 2004 by North Carolina State University.  
 * 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 NORTH CAROLINA STATE UNIVERSITY 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 NORTH
 * CAROLINA STATE UNIVERSITY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 * 
 * THE NORTH CAROLINA STATE UNIVERSITY 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 NORTH CAROLINA STATE UNIVERSITY HAS NO OBLIGATION 
 * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS."
 *
 * Authors: Donggang Liu
 * Date:    4/25/04
 */

includes PolyOne;

module SimulationGM {
    provides {
	   interface StdControl;
    }
    uses {
	   interface Sensor; 
	   interface SetupServer;
    }
}

implementation {
 
 	PolyShare secret[2];
 	uint16_t compromised[64];
 	uint16_t real_ID;
 	
  command result_t StdControl.init(){                

	call SetupServer.init();  
	if(TOS_LOCAL_ADDRESS==0) real_ID=257;
	if(TOS_LOCAL_ADDRESS==1) real_ID=258;
	if(TOS_LOCAL_ADDRESS==2) real_ID=513;
	
	call SetupServer.SecretAssign(real_ID, (uint8_t *)secret);
	call Sensor.init(real_ID,(uint8_t *)secret,compromised);
    	return SUCCESS;
  }
  
  command result_t StdControl.start() {
     
     if(TOS_LOCAL_ADDRESS==2) call Sensor.establish_key(258);
//     if(TOS_LOCAL_ADDRESS==0) call Sensor.establish_key(513);
//	call Sensor.establish_key(1);
//     } else call Sensor.establish_key(2);
     return SUCCESS;
  }
  
  command result_t StdControl.stop() {
     return SUCCESS;
  }

  event result_t Sensor.keyEstablished(uint16_t dID, uint8_t *key) {
     return SUCCESS;
  }
  
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -