mahou/protocol

94 lines
2.3 KiB
Text
Raw Normal View History

PROTOCOL
2017-10-18 21:59:50 +00:00
all numbers are packed unless stated otherwise
packed values are msb
strings are predefined sizes and are terminated at the
first NUL character (0x0). max string length is the region
length minus one, for the required NUL.
2017-10-25 22:00:19 +00:00
2017-10-18 21:59:50 +00:00
byte n is b.n
region n is r.n
---
2017-10-25 22:00:19 +00:00
byte the zero: 0xDE
byte the one: 0xAD
byte the two: packet id
byte the 3-6: total body length - uint
2017-10-18 21:59:50 +00:00
byte the bytes after the header octet bytes bytes:
raw body data shoved next to each other with no separation
---
2017-10-18 21:59:50 +00:00
client -> server
2017-11-09 23:06:23 +00:00
id 0: clerical request
r.0 - clerical id - byte
2017-10-18 21:59:50 +00:00
2017-11-09 23:06:23 +00:00
id 1: alert prompt response
r.0 - clerical id - byte
r.1 - prompt id - byte
2017-10-18 21:59:50 +00:00
2017-11-09 23:06:23 +00:00
id 2: boolean prompt response
r.0 - clerical id - byte
r.1 - prompt id - byte
r.2 - response - bool
id 3: string prompt response
r.0 - clerical id - byte
r.1 - prompt id - byte
r.2 - response - string (256b)
id 4: list prompt response
r.0 - clerical id - byte
r.1 - prompt id - byte
r.2 - response - ushort
id 5: ctx change response
2017-10-18 21:59:50 +00:00
r.0 - ack - bool
r.1 - ctx id - ushort
---
server -> client
2017-11-09 23:06:23 +00:00
id 0: clerical response
r.0 - clerical id - byte
r.1 - success - bool
id 1: alert prompt
r.0 - clerical id - byte
r.1 - prompt id - byte
r.2 - prompt width - ushort
r.3 - text - string (512b)
id 2: boolean prompt
r.0 - clerical id - byte
r.1 - prompt id - byte
r.2 - prompt width - ushort
r.3 - text - string (512b)
2017-11-09 23:06:23 +00:00
id 3: string prompt
r.0 - clerical id - byte
r.1 - prompt id - byte
r.2 - prompt width - ushort
r.3 - text - string (512b)
r.4 - strlen - byte
id 4: list prompt
r.0 - clerical id - byte
r.1 - prompt id - byte
r.2 - prompt width - ushort
r.3 - text - string (512b)
r.4 - option count - n - ushort
r.x | 4 < x <= 4+n
- option text - string (256b)
id 5: ctx change request
r.0 - ctx id - ushort
2017-10-18 21:59:50 +00:00
2017-11-09 23:06:23 +00:00
---
CLERICAL IDs
id 0: register
id 1: login