/** * memory/pso2.h * * Paged space object of size class 2, four words total, two words payload. * * (c) 2026 Simon Brooke * Licensed under GPL version 2.0, or, at your option, any later version. */ #ifndef __psse_memory_pso2_h #define __psse_memory_pso2_h #include #include "../payloads/psse_string.h" #include "memory/header.h" #include "payloads/character.h" #include "payloads/cons.h" #include "payloads/free.h" #include "payloads/function.h" #include "payloads/integer.h" #include "payloads/keyword.h" #include "payloads/lambda.h" #include "payloads/nlambda.h" #include "payloads/read_stream.h" #include "payloads/symbol.h" #include "payloads/time.h" #include "payloads/vector_pointer.h" #include "payloads/write_stream.h" /** * @brief A paged space object of size class 2, four words total, two words * payload. * */ struct pso2 { struct pso_header header; union { char bytes[16]; uint64_t words[2]; struct character_payload character; struct cons_payload cons; struct free_payload free; struct function_payload function; struct integer_payload integer; struct lambda_payload lambda; struct function_payload special; struct stream_payload stream; struct string_payload string; // TODO: this isn't working and I don't know why (error: field ‘time’ has incomplete type) // struct time_payload time; struct vectorp_payload vectorp; } payload; }; #endif