xous_api_log_server/
api.rs

1#[repr(C, align(4096))]
2pub struct LogRecord {
3    pub file_length: u32,
4    pub file: [u8; 128],
5    pub line: Option<core::num::NonZeroU32>,
6    pub module_length: u32,
7    pub module: [u8; 128],
8    pub level: u32,
9    pub args_length: u32,
10    pub args: [u8; 3820],
11}
12
13impl Default for LogRecord {
14    fn default() -> Self {
15        LogRecord { file_length: 0, file: [0u8; 128], line: None, module_length: 0, module: [0u8; 128], level: 0, args_length: 0, args: [0u8; 3820] }
16    }
17}
18
19#[derive(Debug, PartialEq, num_derive::FromPrimitive, num_derive::ToPrimitive)]
20pub enum Opcode {
21    /// A `LogRecord` message, delivering structured log output
22    LogRecord = 0,
23
24    /// A `&[u8]` destined for stdout
25    StandardOutput = 1,
26
27    /// A `&[u8]` destined for stderr
28    StandardError = 2,
29
30    /// A `xous::StringBuffer` containing this program's name
31    ProgramName = 3,
32
33    /// A panic occurred, and a panic log is forthcoming
34    PanicStarted = 1000,
35
36    /// Log messages of varying size
37    PanicMessage0 = 1100,
38    PanicMessage1 = 1101,
39    PanicMessage2 = 1102,
40    PanicMessage3 = 1103,
41    PanicMessage4 = 1104,
42    PanicMessage5 = 1105,
43    PanicMessage6 = 1106,
44    PanicMessage7 = 1107,
45    PanicMessage8 = 1108,
46    PanicMessage9 = 1109,
47    PanicMessage10 = 1110,
48    PanicMessage11 = 1111,
49    PanicMessage12 = 1112,
50    PanicMessage13 = 1113,
51    PanicMessage14 = 1114,
52    PanicMessage15 = 1115,
53    PanicMessage16 = 1116,
54    PanicMessage17 = 1117,
55    PanicMessage18 = 1118,
56    PanicMessage19 = 1119,
57    PanicMessage20 = 1120,
58    PanicMessage21 = 1121,
59    PanicMessage22 = 1122,
60    PanicMessage23 = 1123,
61    PanicMessage24 = 1124,
62    PanicMessage25 = 1125,
63    PanicMessage26 = 1126,
64    PanicMessage27 = 1127,
65    PanicMessage28 = 1128,
66    PanicMessage29 = 1129,
67    PanicMessage30 = 1130,
68    PanicMessage31 = 1131,
69    PanicMessage32 = 1132,
70
71    /// End of a panic
72    PanicFinished = 1200,
73
74    /// Enable receiving messages when the system is resumed from sleep.
75    EnableRx = 2000,
76}