summaryrefslogtreecommitdiff
path: root/shared/ossp_uuid/OVERVIEW
diff options
context:
space:
mode:
Diffstat (limited to 'shared/ossp_uuid/OVERVIEW')
-rw-r--r--shared/ossp_uuid/OVERVIEW81
1 files changed, 81 insertions, 0 deletions
diff --git a/shared/ossp_uuid/OVERVIEW b/shared/ossp_uuid/OVERVIEW
new file mode 100644
index 00000000..2fb518f1
--- /dev/null
+++ b/shared/ossp_uuid/OVERVIEW
@@ -0,0 +1,81 @@
+
+ _ ___ ____ ____ ____ _ _
+ |_|_ _ / _ \/ ___/ ___|| _ \ _ _ _ _(_) __| |
+ _|_||_| | | | \___ \___ \| |_) | | | | | | | | |/ _` |
+ |_||_|_| | |_| |___) |__) | __/ | |_| | |_| | | (_| |
+ |_|_|_| \___/|____/____/|_| \__,_|\__,_|_|\__,_|
+
+ OSSP uuid - Universally Unique Identifier
+
+ OVERVIEW
+
+ A UUID consists of 128 bits (16-octets) which are split into 6
+ octet-bounded unsigned integer fields ("time_low", "time_mid",
+ "time_hi_and_version", "clk_seq_hi_res", "clk_seq_low" and "node") and
+ where two fields are multiplexed with a fixed size 4-bit "version" and
+ a variable sized 2-3 bit "variant" field.
+
+ The UUID octets are counted from left to right 15 to 0 and the bits
+ in each octet are counted from left to right 7 to 0 (most significant
+ bit first, least significant bit last). The unsigned integer fields
+ formed out of multiple octets are stored in "network byte order" (most
+ significant octet first, least significant octet last). A UUID is
+ stored and transmitted from left to right, i.e., in "network byte
+ order" with the most significant octet first and the least significant
+ octet last.
+
+ Illustration 1:
+ (single octet array, less compact, more annotations)
+
+
+ Bits: [4] [2-3]
+ Field: version variant
+ MSO -->| |<-- -->| |<-- LSO
+ \ | | | | /
+ Octet: 15 14 13 12 11 10 | |9 8 | | 7 6 5 4 3 2 1 0
+ +------++------++------++------++------++------++------++------++------++------++------++------++------++------++------++------+
+ UUID: | || || || || || |#### || |##: || || || || || || || |
+ +------++------++------++------++------++------++------++------++------++------++------++------++------++------++------++------+
+ Bit: 76543210765432107654321076543210765432107654321076543210765432107654321076543210765432107654321076543210765432107654321076543210
+ /| || || || || || |\
+ MSB | || || || || || | LSB
+ |<---------------------------->||<------------>||<------------>||<---->||<---->||<-------------------------------------------->|
+ time_hi clk_seq clk_seq
+ Field: time_low time_mid _and_version _hi_res _low node
+ Bits: [32] [16] [16] [5-6] [8] [48]
+
+
+ Illustration 2:
+ (two octet arrays, more compact, less annotations)
+
+ [4]
+ version
+ -->| |<--
+ | |
+ | | [16]
+ [32] [16] | |time_hi
+ time_low time_mid | _and_version
+ |<---------------------------->||<------------>||<------------>|
+ | MSO || || | |
+ | / || || | |
+ | 15 14 13 12 || 11 10 || |9 8 |
+ 7654321076543210765432107654321076543210765432107654321076543210
+ /+------++------++------++------++------++------++------++------+~
+ MSB | || || || || || |#### || | ...
+ +------++------++------++------++------++------++------++------+~
+ ~+------++------++------++------++------++------++------++------+
+ ... ##: || || || || || || || | LSB
+ ~+------++------++------++------++------++------++------++------+/
+ 7654321076543210765432107654321076543210765432107654321076543210
+ | | 7 || 6 || 5 4 3 2 1 0 |
+ | | || || / |
+ | | || || LSO |
+ |<---->||<---->||<-------------------------------------------->|
+ |clk_seq clk_seq node
+ |_hi_res _low [48]
+ |[5-6] [8]
+ | |
+ -->| |<--
+ variant
+ [2-3]
+
bgstack15