diff --git a/tests/sizeof_tcb/Makefile b/tests/sizeof_tcb/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..72f8fb352020b9e6e06ff7da1cb88cf1d2c04009 --- /dev/null +++ b/tests/sizeof_tcb/Makefile @@ -0,0 +1,4 @@ +APPLICATION = sizeof_tcb +include ../Makefile.tests_common + +include $(RIOTBASE)/Makefile.include diff --git a/tests/sizeof_tcb/main.c b/tests/sizeof_tcb/main.c new file mode 100644 index 0000000000000000000000000000000000000000..f1b7ef9ef774865cf2da624e79d6b88928773de2 --- /dev/null +++ b/tests/sizeof_tcb/main.c @@ -0,0 +1,52 @@ +/* + * Copyright (C) 2014 René Kijewski <rene.kijewski@fu-berlin.de> + * + * This file is subject to the terms and conditions of the GNU Lesser + * General Public License v2.1. See the file LICENSE in the top level + * directory for more details. + */ + +/** + * @ingroup tests + * @{ + * + * @file + * @brief Print the size of tcb_t. + * + * @author René Kijewski <rene.kijewski@fu-berlin.de> + * + * @} + */ + +#include <stdio.h> +#include <stddef.h> + +#include "tcb.h" + +#define P(NAME) printf("\t%-*s%4zu%4zu\n", 11, #NAME, sizeof(((tcb_t *) 0)->NAME), offsetof(tcb_t, NAME)); + +int main(void) +{ + puts("\tmember, sizeof, offsetof"); + + printf("sizeof(tcb_t): %zu\n", sizeof(tcb_t)); + + P(sp); + P(status); + P(pid); + P(priority); + P(rq_entry); + P(wait_data); + P(msg_waiters); + P(msg_queue); + P(msg_array); + P(name); + P(stack_start); + +#ifdef DEVELHELP + P(stack_size); +#endif + + puts("Done."); + return 0; +}