This is the PAL (Platform Adaptation Layer) for the Pubnub C-core library.

Dependencies:   Pubnub_c_core

Dependents:   Pubnub_mbed2_sync

Committer:
sveljko
Date:
Tue Dec 06 10:22:54 2016 +0000
Revision:
3:be58f6801809
Parent:
2:9c3ddeede137
Update doc for srand_from_pubnub_time()

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sveljko 2:9c3ddeede137 1 #include "pubnub_generate_uuid.h"
sveljko 2:9c3ddeede137 2
sveljko 2:9c3ddeede137 3 #include <stdlib.h>
sveljko 2:9c3ddeede137 4
sveljko 2:9c3ddeede137 5
sveljko 2:9c3ddeede137 6 int pubnub_generate_uuid_v4_random(struct Pubnub_UUID *uuid)
sveljko 2:9c3ddeede137 7 {
sveljko 2:9c3ddeede137 8 /* This uses the standard rand() function, which is, in most
sveljko 2:9c3ddeede137 9 implementations, not a very good random number generator (RNG). So,
sveljko 2:9c3ddeede137 10 if you have a better RNG, please don't use this function. Also, it is
sveljko 2:9c3ddeede137 11 essential that you call srand() with a good seed at least once in your
sveljko 2:9c3ddeede137 12 program, otherwise your "random" numbers won't be so random after all.
sveljko 2:9c3ddeede137 13 */
sveljko 2:9c3ddeede137 14 int *p;
sveljko 2:9c3ddeede137 15 for (p = (int*)uuid; p < (int*)(uuid + 1); ++p) {
sveljko 2:9c3ddeede137 16 *p = rand();
sveljko 2:9c3ddeede137 17 }
sveljko 2:9c3ddeede137 18
sveljko 2:9c3ddeede137 19 uuid->uuid[6] &= 0x0F;
sveljko 2:9c3ddeede137 20 uuid->uuid[6] |= 0x40;
sveljko 2:9c3ddeede137 21 uuid->uuid[8] &= 0x3F;
sveljko 2:9c3ddeede137 22 uuid->uuid[8] |= 0x80;
sveljko 2:9c3ddeede137 23
sveljko 2:9c3ddeede137 24 return 0;
sveljko 2:9c3ddeede137 25 }