示例#1
0
int main()
{
	int i;
	int hash;
	int length;
	struct minion*  p_oMinion0;
	struct minion*  p_oMinion1;
	unsigned char* pData;

	// allocate the memory needed for the 2 Minions
	p_oMinion0 = malloc(5);
	p_oMinion1 = malloc(7);
	
	// the length of the 2 Minions together
	length = 5 + 7;

	// set data for Minion0 
	p_oMinion0->id = 1;
	p_oMinion0->type = 0;
	p_oMinion0->datasize = 2;
	memcpy(p_oMinion0->data, "ab", p_oMinion0->datasize);

	// set data for Minion1
	p_oMinion1->id = 1;
	p_oMinion1->type = 0;
	p_oMinion1->datasize = 4;
	memcpy(p_oMinion1->data, "1234", p_oMinion1->datasize);

	// allocate a datablock to join both Minions
	pData = malloc(length);

	// join the Minions
	memcpy(pData    , p_oMinion0, 5);
	memcpy(pData + 5, p_oMinion1, 7);

	// print memory
	printf("Pos\tHex\tDec\tChar\n");
	for (i = 0; i < length; i++)
	{
		printf("%2i:\t%02x\t%i\t%c\n", i, pData[i], pData[i], pData[i]);
	}

	// generate hash of the joined Minions
	hash = (genUID(DEF_PASSWORD_HASH, pData, length));

	// print hash, length and frame strucutre
	printf("\nHASH:\t%04x\nLength:\t%i\n", hash, length);
	printf("\nFinal Frame Structure:\n[HASH;LENGTH]DATA\n");

	return 0;
};
uint32_t LightManager::addLight(const Light& data)
{
    OpenThreads::ScopedLock<OpenThreads::Mutex> lock(_lightManagerMapMutex);

	const unsigned lightID = genUID();

	Light & light = _LightsMap[lightID];

    light = data;
    
	light.active = true;

	return lightID;
}
int main ()
{
	randomize();

	int c;
	char data[512];

	for (c = 0; c < 512; c++)
	{
		data[c] = rand() % 230 + 20;
	}

	printf("UID: 0x%08x\n", genUID(DEF_PASSWORD_HASH, data, sizeof(data)));
	
	return 0;
};