1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-11-25 08:58:14 +00:00

add protocol description

This commit is contained in:
Pavol Rusnak 2017-08-15 17:47:05 +02:00
parent ccff14d685
commit 5f7a1a7a5a
No known key found for this signature in database
GPG Key ID: 91F3B339B9A02A3D

21
protob/protocol.md Normal file
View File

@ -0,0 +1,21 @@
# TREZOR Protocol
## version 1
Messages are sent in packets of 64 bytes.
First packet has the following structure:
| offset | length | type | contents |
|--------|--------|-------------|---------------------------------------------------------------------------------------|
| 0 | 3 | char[3] | '?##' magic constant |
| 3 | 2 | BE uint16_t | numerical [message type](messages.proto#L14) |
| 5 | 4 | BE uint32_t | message size |
| 9 | 55 | uint8_t[55] | first 55 bytes of message encoded in Protocol Buffers (padded with zeroes if shorter) |
Following packets has the following structure:
| offset | length | type | contents |
|--------|--------|-------------|----------------------------------------------------------------------------------------|
| 0 | 1 | char[1] | '?' magic constant |
| 1 | 63 | uint8_t[63] | following bytes of message encoded in Protocol Buffers (padded with zeroes if shorter) |