1/*
2 * Copyright 2020, Data61
3 * Commonwealth Scientific and Industrial Research Organisation (CSIRO)
4 * ABN 41 687 119 230.
5 *
6 * This software may be distributed and modified according to the terms of
7 * the BSD 2-Clause license. Note that NO WARRANTY is provided.
8 * See "LICENSE_BSD2.txt" for details.
9 *
10 * @TAG(DATA61_BSD)
11 */
12
13#define _VAR_STRINGIZE(...) #__VA_ARGS__
14#define VAR_STRINGIZE(...) _VAR_STRINGIZE(__VA_ARGS__)
15
16
17import <SerialServer-camkes-putchar-client.camkes>;
18
19#define SerialServer_putchar_printf_client(name) \
20    uses PutChar name##_putchar; \
21    emits Init name; \
22    consumes Init name##_init2;
23
24
25#define SerialServer_raw_putchar_printf_connection(name, client, driver) \
26    connection seL4RPCCall name##_##client##_##driver##_putchar(from client.name##_putchar, to driver.raw_putchar); \
27    connection SerialServerCamkesPutcharClient name##_##client##_##driver##_init(from client.name, to client.name##_init2);
28
29#define SerialServer_processed_putchar_printf_connection(name, client, driver) \
30    connection seL4RPCCall name##_##client##_##driver##_putchar(from client.name##_putchar, to driver.processed_putchar); \
31    connection SerialServerCamkesPutcharClient name##_##client##_##driver##_init(from client.name, to client.name##_init2);
32