summaryrefslogtreecommitdiff
path: root/src/user/include/pland/pcrt.h
blob: 42158cd18f85d40ae9a38b75601f783eaf04abf3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#ifndef PLAND_PCRT_H
#define PLAND_PCRT_H

#include <pland/syscall.h>

#define BEFORE_MAIN(f) \
  __attribute__ ((section (".__pcrt_before_main"))) \
  __attribute__ ((unused)) \
  void (*const __pcrt_bm_##f)() = &f;

#define BEFORE_QUIT(f) \
  __attribute__ ((section (".__pcrt_before_quit"))) \
  __attribute__ ((unused)) \
  void (*const __pcrt_bq_##f)() = &f;

void __pcrt_quit() __attribute__ ((noreturn));

extern _task_handle_t calling_task;
extern _task_handle_t stdio_task;

#endif